[Java] Listen- / Kartenelemente mit Iterator abrufen

Inhaltsverzeichnis

zunaechst

Wenn Sie Map / List in Java berühren,

Ich denke, es gibt einige solche Momente. Dieser ** Iterator ** ist in einem solchen Fall praktisch.

Bitte beziehen Sie sich darauf, da es mit dem tatsächlichen Code zusammengefasst ist.

Was ist Iterator?

Definition

Iterator (Englisch: Iterator) ist eine Abstraktion der iterativen Verarbeitung für jedes Element eines Arrays oder einer ähnlichen kollektiven Datenstruktur (Sammlung oder Container) in einer Programmiersprache. In der eigentlichen Programmiersprache erscheint es als Objekt oder Grammatik. In JIS wird es als Repeater (Hanpukushi) übersetzt. wikipedia

Wie oben erwähnt, wird die ** Schnittstelle ** zum Durchführen einer ** iterativen Verarbeitung ** für ** Arrays und ähnliche Daten ** als Iterator bezeichnet.

Iteratormethode

Die folgenden zwei Methoden werden in der Iterator-Klasse deklariert.

Die beiden oben genannten sind wichtig, und next () und hasNext () werden hauptsächlich für die iterative Verarbeitung verwendet. Wenn Sie Iterator in einer anderen Klasse verwenden, überschreiben Sie die Methode. "Beliebige Operation" von remove () bedeutet "einige Objekte namens Iterator unterstützen nicht".

Notation

Bei Verwendung mit `Iterator <Referenzobjekttyp> Objektname `` instanziieren

Überprüfen Sie die tatsächliche Verwendung in jeder Klasse unten.

Listentyp Iterator

Da die List-Klasse die ** Iteratable-Schnittstelle ** implementiert, können Sie ein Objekt vom Typ Iterator abrufen, indem Sie einfach eine Methode aufrufen. Klassendetails auflisten (Oracle HP)

IteratorDemo.java


public void IteratorDemo(){
//Listenerstellung
	List<String> list = new ArrayList<String>(); 
	list.add("Hund");                           
	list.add("Affe");                           
	list.add("Fasan");                                                
//Holen Sie sich Iterator, Methode aufrufen
	Iterator<String> itList = list.iterator();
//Anzeige
	while (itList.hasNext()){                    
		String s = itList.next();
		System.out.println(s);
	}
}
Ausführungsergebnis:
Hund
Affe
Fasan

Kartenbasierter Iterator

Da ** Iterator-Schnittstelle nicht in der Map-Klasse ** implementiert ist, rufen Sie Iterator ab, nachdem Sie es zu einem Klassentypobjekt gemacht haben, das die Iterator-Schnittstelle einmal implementiert.

IteratorDemo.java


//Kartenerstellung//                                                                             
	Map<Character, String> map = new HashMap<Character, String>();                      
	map.put('A', "Arufa");                                                               
	map.put('B', "Bravo");                                                               
	map.put('C', "Charlie");                                                              
                                                                                        
//Holen Sie sich Iterator, Methode aufrufen//                                                                                        
	// keySet()Holen Sie sich die Schlüsselliste als Set-Typ-Objekt mit
	Iterator<Character> itMapKey = map.keySet().iterator();                             
                                                                                        
	// values()Ruft eine Liste von Werten als Objekt vom Typ Sammlung mit ab
	Iterator<String> itMapValue = map.values().iterator();                              
                                                                                        
	// entrySet()Mit Set<Map.Entry<K, V>Schlüssel / Wert-Kombination als Typobjekt abrufen
	Iterator<Map.Entry<Character, String>> itEntry = map.entrySet().iterator();         
                                                                                        
                                                                                        
//Anzeige//                                                                                
	while (itMapKey.hasNext()){                                                         
		char key = itMapKey.next();                                                     
		System.out.println(key);                                                        
	}                                                                                   
                                                                                
	while (itMapValue.hasNext()){                                                       
		String value = itMapValue.next();                                               
		System.out.println(value);                                                      
	}                                                                                   
                                                                               
	while(itEntry.hasNext()){                                                           
		Map.Entry<Character, String> entry = itEntry.next();                            
		System.out.println(entry);                                                      
	}                                                                                                                                    
Ausführungsergebnis:
A
B
C
Arufa
Bravo
Charlie
A=Arufa
B=Bravo
C=Charlie

Vom generischen Ausdruck zur erweiterten Anweisung

Im obigen Codebeispiel wurde die Ausgabe mit den Generika ** "<>" ** ausgeführt, aber die erweiterte for-Anweisung kann auch verwendet werden. Die Ausgabemethode für jede List / Map for-Anweisung lautet wie folgt.

//Das Anzeigeergebnis entspricht dem Code im Abschnitt "Kartenbasierter Iterator".

//Alle Inhalte der Liste anzeigen
for (String value : list){    
	System.out.println(value);
}                             
//Alle Map-Schlüssel anzeigen
for (char key : map.keySet()){ 
	System.out.println(key);   
}
//Alle Kartenwerte anzeigen
for (String value : map.values()){ 
	System.out.println(value);     
}
//Zuordnung von Kartenschlüssel und Wert(Eintrag)Zeige alles
for (Map.Entry<Character, String> entry : map.entrySet()){
	System.out.println(entry);                            
}                                                                                                                   

Zusammenfassung

--List Klasse kann Iterator so wie es ist verwenden

Elemente, die Sie wollen Methodenname Rückgabewert
Liste der Schlüssel map.keySet() Typ einstellen
Liste von Werten map.values() Sammlungsart
Liste der Schlüssel / Wert-Kombinationen map.entrySet() Collection<Entry<K, V>>Schimmel

Am Ende

Vielen Dank, dass Sie so weit gelesen haben.

Es gibt einige Teile, die noch nicht angesprochen wurden, daher möchte ich sie eines Tages zusammenfassen.

Ich habe einige Artikel wie "Implementiere Iterator in meiner eigenen Klasse" gesehen, deshalb möchte ich sie eines Tages zusammenfassen.

Dann.

Recommended Posts

[Java] Listen- / Kartenelemente mit Iterator abrufen
Java8-Listenkonvertierung mit Stream Map
[Java] [ibatis] So erhalten Sie 1-zu-N-Beziehungsdatensätze mit List <Map <>>
Für Java-Anfänger: Liste, Karte, Iterator / Array ... Wie konvertiere ich?
[Java] Löschen Sie die Elemente von List
Holen Sie sich null-sichere Map-Werte in Java
Erstellen Sie eine Listenkarte mit LazyMap
[Java] Konvertiere 1 in N Liste in Karte
JAVA (Karte)
Holen Sie sich Zeitstempel mit dem Azure BlobStorage Java SDK
[Java] Ermitteln Sie das Datum mit der LocalDateTime-Klasse
Holen Sie sich eine Liste der S3-Dateien mit ListObjectsV2Request (AWS SDK für Java)
Liste, Set, Karte
Java Memorandum (Liste)
Klonen Sie die Java-Liste.
Blockinformationen erhalten Sie mit dem Java SDK von Hyperledger Iroha
Array / Liste / Karte
[Java] Holen Sie sich Bilder mit der Google Custom Search API
[Java] Kartenvergleich
[LeJOS] EV3-Sensorwert per Fernzugriff mit Java abrufen
Kommen Sie mit Java-Containern in Cloud Run zurecht
[Java] Sortieren Sie ArrayList nach Elementen Ihrer eigenen Klasse
Listenverarbeitung zum Verstehen mit Bildern --java8 stream / javaslang-
Rufen Sie eine Liste mit MBean-Informationen für Java-Anwendungen ab
Erfahrene Java-Benutzer beginnen mit der Entwicklung von Android-Apps
Rufen Sie den Azure App Service für die Java-Konfiguration mit System.getEnv () ab.
[Java] Holen Sie sich das Datum 10 Tage später mit der Calendar-Klasse
Beginnen Sie mit serverlosem Java mit dem leichtgewichtigen Framework Micronaut!
Installieren Sie Java mit Homebrew
[Java] Verschiedene Daten abrufen
Wechseln Sie die Plätze mit Java
Installieren Sie Java mit Ansible
[Java] Stream API / Map
Bequemer Download mit JAVA
Schalten Sie Java mit direnv
Informationen zur Java-Array-Liste
Enum Reverse Map Java
[Java] Initialisierung, Hinzufügung, Erfassung
Bidirektionale Java-Kartenbibliothek
Java-Download mit Ansible
Lass uns mit Java kratzen! !!
Erstellen Sie Java mit Wercker
Beginnen Sie mit Gradle
[Memo] Java Linked List
Endian-Konvertierung mit JAVA
[Java] Zeichensatz mit Apathce Tika abrufen / String von Zeichensatz initialisieren [Kotlin]
Im ersten Jahr versuchte der Java-Entwickler bei udemy, mit PHP zu beginnen
Ich möchte eine Liste mit Kotlin und Java erstellen!
PriorityQueue, wo ich Probleme mit der Dyxtra-Methode unter Verwendung einer benachbarten Liste (Java) hatte.
Listenverarbeitung zum Verstehen mit Bildern --java8 stream / javaslang --bonus
Informationen zum Verhalten beim Erstellen einer Dateizuordnung mit Java