Heim Java javaLernprogramm Detaillierte Erklärung und Analyse von ListIterator und Iterator in Java

Detaillierte Erklärung und Analyse von ListIterator und Iterator in Java

Dec 13, 2016 pm 05:20 PM
iterator

Wenn Sie Java-Sammlungen verwenden, müssen Sie Iterator verwenden. Es gibt aber auch einen Iterator ListIterator in der Java-Sammlung, der bei Verwendung von List, ArrayList, LinkedList und Vector verwendet werden kann. Was ist der Unterschied zwischen diesen beiden Iteratoren? Lassen Sie es uns unten im Detail analysieren. Hier muss klargestellt werden, dass die Position, auf die der Iterator zeigt, die Position vor dem Element ist, wie in der folgenden Abbildung dargestellt:

Detaillierte Erklärung und Analyse von ListIterator und Iterator in Java

Hier wird davon ausgegangen dass die Menge List aus den vier Elementen List1, List2, List3 und List4 besteht. Bei Verwendung der Anweisung Iterator it = List.Iterator() ist die Position, auf die der Iterator zeigt, die Position, auf die Iterator1 in der obigen Abbildung zeigt Anweisung it.next(), die Position, auf die der Iterator zeigt, ist nach dem Verschieben an die Position, auf die Iterator2 im Bild oben zeigt.

Werfen wir zunächst einen Blick auf die Methoden von Iterator und ListIterator.

Iteratormethoden umfassen:

hasNext(): Wenn es Elemente nach der Position gibt, auf die der Iterator zeigt, wird true zurückgegeben, andernfalls wird false zurückgegeben.

next(): Gibt die zurück Element hinter der Position, auf die Iterator in der Sammlung zeigt

remove(): Entfernt das Element hinter der Position, auf die Iterator in der Sammlung zeigt

Die im ListIterator-Iterator enthaltenen Methoden sind:

add (E e): Fügt das angegebene Element in die Liste ein, und die Einfügeposition liegt vor der aktuellen Position des Iterators.

hasNext(): Beim Durchlaufen der Liste in Vorwärtsrichtung, falls vorhanden Sind Elemente nach dem Listeniterator, gibt es true zurück, andernfalls wird false zurückgegeben

hasPrevious(): Wenn die Liste in umgekehrter Reihenfolge durchlaufen wird und sich Elemente vor dem Listeniterator befinden, wird true zurückgegeben, andernfalls wird false zurückgegeben

next(): Gibt die Position zurück, auf die ListIterator in der Liste zeigt. Das folgende Element

nextIndex(): Gibt den Index des Elements hinter der von ListIterator benötigten Position in der Liste

previous(): Gibt das Element in der Liste vor der Position zurück, auf die ListIterator zeigt

previousIndex (): Gibt den Index des Elements vor der gewünschten Position von ListIterator in der Liste zurück

remove(): Entfernt das letzte von next() oder previous() zurückgegebene Element aus der Liste (etwas verwirrend, es bedeutet die Verwendung des Iterators. Wenn Sie die hasNext()-Methode verwenden, löschen Sie das Element nach der Position, auf die ListIterator zeigt; wenn Löschen Sie mithilfe der Methode hasPrevious() im Iterator das Element vor der Position, auf die ListIterator zeigt)

set(E e): Next aus der Liste entfernen Das letzte von () oder previous() zurückgegebene Element wird geändert zum angegebenen Element e

eins. Die gleichen Punkte

sind Iteratoren. Wenn Sie die Elemente in der Sammlung durchlaufen müssen, ohne den Durchlaufprozess zu beeinträchtigen, können beide Iteratoren verwendet werden.

2. Unterschiede

1. Unterschiedlicher Verwendungsbereich, Iterator kann auf alle Sammlungen, Sets, Listen und Karten sowie Untertypen dieser Sammlungen angewendet werden. ListIterator kann nur für List und seine Untertypen verwendet werden.

2. ListIterator verfügt über eine Add-Methode, die Objekte zur Liste hinzufügen kann, Iterator jedoch nicht.

3. Sowohl ListIterator als auch Iterator verfügen über die Methoden hasNext() und next(), die einen sequentiellen Rückwärtsdurchlauf realisieren können, aber ListIterator verfügt über die Methoden hasPrevious() und previous(), die einen umgekehrten (sequentiellen Vorwärtsdurchlauf) realisieren können . . Iterator kann nicht.

4.ListIterator kann die Position des aktuellen Index ermitteln, und nextIndex() und previousIndex() können dies erreichen. Iterator verfügt nicht über diese Funktionalität.

5. Beide können Löschvorgänge implementieren, ListIterator kann jedoch Objektänderungen implementieren, und die set()-Methode kann dies erreichen. Der Iterator kann nur durchlaufen und nicht geändert werden.

Drei: Iterator- und ListIterator-Verwendungsbeispiele

ListIterator-Verwendung:

Paket com.collection;

import java.util.LinkedList;

import java.util.List;
java.util.ListIterator importieren;

public class ListIteratorTest {
 public static void main(String[] args) {  // TODO Auto-generated method stub  List<String> staff = new LinkedList<>();  staff.add("zhuwei");  staff.add("xuezhangbin");  staff.add("taozhiwei");  ListIterator<String> iter = staff.listIterator();  String first = iter.next();    //删除zhuwei  iter.remove();    //把zhuwei改为simei  //iter.set("simei");  System.out.println("first:"+first);    iter.add("xiaobai");    //遍历List元素  System.out.println("遍历List中元素,方法一:");  for(String str : staff)   System.out.println(str+"  ");    iter = staff.listIterator();  System.out.println("遍历List中元素,方法二:");  while(iter.hasNext())  {   System.out.println(iter.next());  } }
}
Nach dem Login kopieren


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Java Iterator vs. Iterable: Die Welt der Iteratoren und iterierbaren Objekte entmystifizieren Java Iterator vs. Iterable: Die Welt der Iteratoren und iterierbaren Objekte entmystifizieren Feb 19, 2024 pm 02:15 PM

In der Java-Programmierung sind die Schnittstellen Iterator und Iterable wichtige Werkzeuge zur Verarbeitung von Elementen in Sammlungen. Die Iterator-Schnittstelle stellt Methoden für den iterativen Zugriff auf Sammlungselemente bereit, während die Iterable-Schnittstelle die Iterierbarkeit der Sammlung definiert, sodass über Iterator auf die Elemente in der Sammlung zugegriffen werden kann. Die enge Zusammenarbeit zwischen den beiden bietet uns eine allgemeine Methode zum Durchlaufen von Sammlungselementen. Iterator-Schnittstelle Die Iterator-Schnittstelle definiert die folgenden Methoden: booleanhasNext(): Prüft, ob noch Elemente in der Sammlung vorhanden sind. Enext(): Gibt das nächste Element in der Sammlung zurück. voidremove(): Entfernen Sie das aktuelle Element. Wiederholbar

Java Iterator vs. Iterable: Ein Schritt zum Schreiben eleganten Codes Java Iterator vs. Iterable: Ein Schritt zum Schreiben eleganten Codes Feb 19, 2024 pm 02:54 PM

Iterator-Schnittstelle Die Iterator-Schnittstelle ist eine Schnittstelle zum Durchlaufen von Sammlungen. Es bietet mehrere Methoden, darunter hasNext(), next() und remove(). Die Methode hasNext() gibt einen booleschen Wert zurück, der angibt, ob es ein nächstes Element in der Sammlung gibt. Die Methode next() gibt das nächste Element in der Sammlung zurück und entfernt es aus der Sammlung. Die Methode „remove()“ entfernt das aktuelle Element aus der Sammlung. Das folgende Codebeispiel zeigt, wie die Iterator-Schnittstelle zum Durchlaufen einer Sammlung verwendet wird: Listnames=Arrays.asList("John","Mary","Bob");Iterator

Eingehender Vergleich von Java Iterator und Iterable: Vor- und Nachteile-Analyse Eingehender Vergleich von Java Iterator und Iterable: Vor- und Nachteile-Analyse Feb 19, 2024 pm 04:20 PM

Konzeptionelle Unterschiede: Iterator: Iterator ist eine Schnittstelle, die einen Iterator darstellt, der Werte aus einer Sammlung erhält. Es bietet Methoden wie MoveNext(), Current() und Reset(), mit denen Sie die Elemente in der Sammlung durchlaufen und das aktuelle Element bearbeiten können. Iterable: Iterable ist ebenfalls eine Schnittstelle, die ein iterierbares Objekt darstellt. Es stellt die Methode Iterator() bereit, die ein Iterator-Objekt zurückgibt, um das Durchlaufen der Elemente in der Sammlung zu erleichtern. Verwendung: Iterator: Um Iterator zu verwenden, müssen Sie zuerst ein Iterator-Objekt abrufen und dann die Methode MoveNext() aufrufen, um zum nächsten zu wechseln

Java Iterator und Iterable: Der Schlüssel zum Durchlaufen von Sammlungen, entmystifiziert Java Iterator und Iterable: Der Schlüssel zum Durchlaufen von Sammlungen, entmystifiziert Feb 20, 2024 am 10:27 AM

Einführung in IteratorIterator ist eine Schnittstelle in Java zum Durchlaufen von Sammlungen. Es bietet eine Reihe von Methoden, mit denen Sie sequentiell auf Elemente in einer Sammlung zugreifen können. Mit Iterator können Sie Sammlungstypen wie List, Set und Map durchlaufen. Democode: Listlist=newArrayList();list.add("one");list.add("two");list.add(" three");Iteratoriterator=list.iterator();while(iter

Java Iterator vs. Iterable: Die Leistungsfähigkeit von Java-Sammlungen freisetzen Java Iterator vs. Iterable: Die Leistungsfähigkeit von Java-Sammlungen freisetzen Feb 19, 2024 pm 07:00 PM

In Java ist eine Sammlung eine Sammlung von Elementen, die eine einheitliche Schnittstelle und Methoden zum Speichern, Abrufen und Betreiben dieser Elemente bereitstellt. Iterator und Iterable sind zwei wichtige Java-Schnittstellen, die einen gemeinsamen Mechanismus zum Durchlaufen von Sammlungselementen bereitstellen. Die Iterator-Schnittstelle definiert die Methoden hasNext() und next() zum Durchlaufen von Sammlungen. Die Methode hasNext() wird verwendet, um zu prüfen, ob es in der Sammlung nicht durchquerte Elemente gibt, und die Methode next() wird verwendet, um das aktuelle Element zurückzugeben und es zum nächsten Element zu verschieben. Die Iterable-Schnittstelle definiert die Methode iterator(), die ein Iterator-Objekt zum Durchlaufen der Elemente in der Sammlung zurückgibt.

Java Iterator und Iterable: Eine eingehende Analyse des Java-Collection-Traversal-Mechanismus Java Iterator und Iterable: Eine eingehende Analyse des Java-Collection-Traversal-Mechanismus Feb 19, 2024 pm 08:36 PM

Iterator-Schnittstelle Die Iterator-Schnittstelle ist eine Low-Level-Schnittstelle im Java-Sammlungsframework zum Durchlaufen von Sammlungen. Es definiert zwei Hauptmethoden: hasNext(): prüft, ob weitere Elemente in der Sammlung vorhanden sind. next(): Gibt das nächste Element in der Sammlung zurück. Die Iterator-Schnittstelle definiert auch einige optionale Methoden, beispielsweise die Methode „remove()“, mit der das aktuelle Element aus der Sammlung entfernt wird. Verwenden der Iterator-Schnittstelle Sie können die Iterator-Schnittstelle verwenden, um eine Sammlung mit den folgenden Schritten zu durchlaufen: Rufen Sie das Iterator-Objekt der Sammlung ab. Verwenden Sie die Methode hasNext(), um zu überprüfen, ob die Sammlung weitere Elemente enthält. Wenn mehr Elemente vorhanden sind, verwenden Sie die Methode next(), um das nächste Element abzurufen

Java Iterator und Iterable: Hinter den Kulissen des Collection Traversal Java Iterator und Iterable: Hinter den Kulissen des Collection Traversal Feb 19, 2024 pm 04:15 PM

Iterator (Iterator) und Iterable Object (Iterable) sind zwei sehr wichtige Schnittstellen im Java Collection Framework. Sie ermöglichen es Ihnen, die Elemente in einer Sammlung zu durchlaufen, ohne die spezifische Implementierung der Sammlung zu kennen. Die Iterator-Schnittstelle definiert Methoden zum Durchlaufen von Sammlungen, einschließlich hasNext() und next(). Die Methode hasNext() prüft, ob weitere Elemente in der Sammlung vorhanden sind, während die Methode next() das nächste Element in der Sammlung zurückgibt. Die Iterable-Schnittstelle definiert eine Methode zum Erstellen eines Iterators, die iterator()-Methode. Diese Methode gibt ein Iterator-Objekt zurück, das zum Durchlaufen der Sammlung verwendet werden kann. Im Folgenden wird Itera verwendet

Interpretation der Java-Dokumentation: Detaillierte Erläuterung der Verwendung der iterator()-Methode der HashSet-Klasse Interpretation der Java-Dokumentation: Detaillierte Erläuterung der Verwendung der iterator()-Methode der HashSet-Klasse Nov 03, 2023 am 09:44 AM

Interpretation der Java-Dokumentation: Detaillierte Erläuterung der Verwendung der Methode iterator() der Klasse HashSet. In der Java-Programmierung ist HashSet eine der häufig verwendeten Sammlungsklassen AbstractSet-Klasse. Die Methode iterator() der HashSet-Klasse wird verwendet, um ein Iteratorobjekt zum Durchlaufen der Elemente im HashSet zurückzugeben. In diesem Artikel wird die Verwendung der iterator()-Methode der HashSet-Klasse ausführlich erläutert

See all articles