Java verwendet Iteratoren, um eine gemeinsame Betriebsschnittstelle für verschiedene Container bereitzustellen. Freunde, die es benötigen, können sich darauf beziehen
Was ist ein Iterator?
In Java gibt es viele Datencontainer und ihre Operationen weisen viele Gemeinsamkeiten auf. Java verwendet Iteratoren, um eine gemeinsame Operationsschnittstelle für verschiedene Container bereitzustellen. Dadurch wird der Durchlaufvorgang des Containers von seiner spezifischen zugrunde liegenden Implementierung isoliert, wodurch ein Entkopplungseffekt erzielt wird. In der Iterator-Schnittstelle sind drei Methoden definiert: Die zugehörigen Klassen unter der Map-Schnittstelle in der Java-Sammlungsklasse sind nicht mit den zugehörigen Klassen identisch der Collection-Schnittstelle Implementieren Sie die Methode get(). In Szenarien, in denen eine Durchlaufausgabe erreicht werden soll, kann die Methode get() nicht direkt zum Abrufen der Daten im Objekt verwendet werden. Java selbst bietet jedoch eine andere Methode zum Durchlaufen von Daten. Das heißt, der Iterator kann zwar zum Durchlaufen und Lesen von Daten verwendet werden, es handelt sich jedoch im Wesentlichen nicht um ein Entwurfsmuster, sondern um ein „leichtes“ Objekt. Im Folgenden wird beschrieben, wie Sie Iterator in verschiedenen Schnittstellen verwenden:(1) Die Verwendung von Iterator in der Collection-Schnittstelle.
Obwohl die zugehörigen Klassen der Collection-Schnittstelle die Methode get() implementieren, ist es dennoch sinnvoll, Iterator für sie zu verwenden. Nehmen wir ArrayList als Beispiel, um die beiden Funktionen von Iterator zu diskutieren in der Sammlung. Verwendung:1. Arbeiten Sie mit der while()-Schleife zusammen, um eine Durchlaufausgabe zu erzielen:
ArrayList list = new ArrayList(); //此处省略list的具体赋值过程 Iterator it = list.iterator(); while(it.hasNext()){ System.out.println(it.next()); }
2. Arbeiten Sie mit der for()-Schleife zusammen, um eine Durchlaufausgabe zu erzielen:
ArrayList list = new ArrayList(); //此处省略list的赋值过程 for(Iterator it = list.iterator();it.hasNext();){ System.out.println(it.next()); }
ArrayList list = new ArrayList(); //此处同样省略list的赋值过程 for(Object array:list){ System.out.println(array); }
(2) Die Verwendung von Iterator in der Map-Schnittstelle:
Im Folgenden wird HashMap als Beispiel verwendet, um die beiden Hauptmethoden von zu diskutieren Verwendung von Iteratoren.1. Kombination mit while()
HashMap<K,V> myMap = new HashMap<K,V>(); //省略myMap的的赋值过程 Iterator<Map.Entry<K,V> it=myMap.entrySet().iterator(); while(it.hasNext()){ System.out.println(it.next()); }
2. Kombination mit for()
HashMap<K,V> myMap=new HashMap<K,V>(); //省略myMap的赋值过程 for(Iterator<Map.Entry<K,V>> it=myMap.entrySet().iterator();it.hasNext();){ System.out.println(it.next()); }
HashMap<K,V> myMap=new HashMap<K,V>(); //省略myMap赋值过程 for(Object oj:myMap.entrySet()){ System.out.println(oj); }
Zusammenfassung
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Iterators in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!