Analyse zweier spezieller Java-Containerklassen List und Set
Containerklassen können die Programmiereffizienz und Programmierfähigkeiten erheblich verbessern. In Java2 wurden alle Container von Joshua Bloch von SUN Company neu gestaltet und die Funktionen der Containerklassenbibliothek erweitert.
Der Zweck der Java2-Containerklassenbibliothek besteht darin, „Objekte zu speichern“, die in zwei Kategorien unterteilt ist:
Sammlung ---- eine Reihe unabhängiger Elemente Normalerweise gehorchen diese Elemente bestimmten Regeln. List muss eine bestimmte Reihenfolge der Elemente beibehalten, während Set keine doppelten Elemente enthalten darf.
Map ---- eine Reihe von „Schlüssel-Wert-Paar“-Objekten, das heißt, ihre Elemente sind gepaarte Objekte. Die typischste Anwendung ist das Datenwörterbuch, und es gibt andere umfangreiche Anwendungen. Darüber hinaus kann Map ein Set bestehend aus allen seinen Schlüsseln und eine Collection bestehend aus allen seinen Werten oder ein Set bestehend aus seinen Schlüssel-Wert-Paaren zurückgeben und die mehrdimensionale Map auch wie ein Array erweitern, solange Jeder „Wert“ des Schlüssel-Wert-Paares in der Karte „Es ist nur eine Karte.“
1. Iterator
Ein Iterator ist ein Entwurfsmuster, ein Objekt, das Objekte in einer Sequenz durchlaufen und auswählen kann, ohne dass der Entwickler die zugrunde liegende Struktur der Sequenz verstehen muss. Iteratoren werden oft als „leichte“ Objekte bezeichnet, weil sie kostengünstig zu erstellen sind.
Die Iterator-Funktion in Java ist relativ einfach und kann sich nur in eine Richtung bewegen:
(1) Verwenden Sie die Methode iterator(), um den Container aufzufordern, einen Iterator zurückzugeben. Wenn die next()-Methode des Iterators zum ersten Mal aufgerufen wird, gibt sie das erste Element der Sequenz zurück.
(2) Verwenden Sie next(), um das nächste Element in der Sequenz abzurufen.
(3) Verwenden Sie hasNext(), um zu prüfen, ob noch Elemente in der Sequenz vorhanden sind.
(4) Verwenden Sie „remove()“, um das vom Iterator neu zurückgegebene Element zu löschen.
Iterator ist die einfachste Implementierung des für List entwickelten Java-Iterators. Er kann List in zwei Richtungen durchlaufen und auch Elemente aus List einfügen und löschen.
2. Funktionsmethoden von List
List(Schnittstelle): Die Reihenfolge ist das wichtigste Merkmal von List; sie stellt sicher, dass die spezifische Reihenfolge der Elemente beibehalten wird. List fügt der Collection viele Methoden hinzu und ermöglicht so das Einfügen und Entfernen von Elementen aus der List (nur für LinkedList empfohlen). Eine Liste kann einen ListIterator generieren, der zum Durchlaufen der Liste in zwei Richtungen und zum Einfügen und Löschen von Elementen aus der Mitte der Liste verwendet werden kann.
ArrayList: Liste implementiert durch Array. Es ermöglicht einen schnellen Direktzugriff auf Elemente, fügt jedoch sehr langsam Elemente in die Mitte der Liste ein und entfernt sie daraus. ListIterator sollte nur zum Durchlaufen von ArrayList von hinten nach vorne und nicht zum Einfügen und Löschen von Elementen verwendet werden, da dies viel teurer als LinkedList ist.
LinkedList: Der sequentielle Zugriff ist optimiert. Das Einfügen und Löschen in die Mitte der Liste ist nicht teuer, aber der wahlfreie Zugriff ist relativ langsam (stattdessen kann ArrayList verwendet werden). Es verfügt über die Methoden addFirst(), addLast(), getFirst(), getLast(), RemoveFirst(), RemoveLast(). Diese Methoden (in keiner Schnittstelle oder Basisklasse definiert) ermöglichen die Verwendung von LinkedList als Stack, Warteschlange und Verwenden Sie eine bidirektionale Warteschlange.
3. Funktionsmethoden von Set
Set(Schnittstelle): Jedes in Set gespeicherte Element muss eindeutig sein, da Set keine doppelten Elemente speichert. Das zum Set hinzugefügte Objekt muss die Methode equal() definieren, um die Einzigartigkeit des Objekts sicherzustellen. Set und Collection haben genau die gleiche Schnittstelle. Die Set-Schnittstelle garantiert nicht, dass die Reihenfolge der Elemente beibehalten wird.
HashSet: Set für schnelle Suche. In HashSet gespeicherte Objekte müssen hashCode() definieren.
TreeSet: Ein Set, das die Ordnung aufrechterhält, mit einer Baumstruktur am unteren Rand. Verwenden Sie es, um eine geordnete Sequenz aus einem Set zu extrahieren.
LinkedHashSet: Hat die Abfragegeschwindigkeit von HashSet und verwendet intern eine verknüpfte Liste, um die Reihenfolge der Elemente (die Einfügungsreihenfolge) beizubehalten. Wenn Sie also einen Iterator zum Durchlaufen der Menge verwenden, werden die Ergebnisse in der Reihenfolge angezeigt, in der die Elemente eingefügt wurden.
HashSet verwendet die Hash-Funktion zum Sortieren von Elementen, die speziell für schnelle Abfragen entwickelt wurde. TreeSet verwendet die rot-schwarze Baumdatenstruktur zum Sortieren von Elementen. LinkedHashSet verwendet intern Hash, um die Abfrage zu beschleunigen Reihenfolge seiner Elemente, sodass es den Anschein hat, als wären die Elemente in der Einfügereihenfolge gespeichert. Es ist zu beachten, dass Set beim Generieren Ihrer eigenen Klasse die Speicherreihenfolge der Elemente beibehalten muss, daher die Comparable-Schnittstelle implementieren und die Methode CompareTo () definieren muss.
Das Obige ist die Analyse zweier spezieller Java-Containerklassen, List und Set. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Interpretation der dynamischen SQL-Tags von MyBatis: Detaillierte Erläuterung der Verwendung von Set-Tags. MyBatis ist ein hervorragendes Persistenzschicht-Framework. Es bietet eine Fülle dynamischer SQL-Tags und kann Datenbankoperationsanweisungen flexibel erstellen. Unter anderem wird das Set-Tag zum Generieren der SET-Klausel in der UPDATE-Anweisung verwendet, die sehr häufig bei Aktualisierungsvorgängen verwendet wird. In diesem Artikel wird die Verwendung des Set-Tags in MyBatis ausführlich erläutert und seine Funktionalität anhand spezifischer Codebeispiele demonstriert. Was ist Set-Tag? Set-Tag wird in MyBati verwendet

Listenoperation //Einen Wert vom Kopf der Liste einfügen. $ret=$redis->lPush('city','guangzhou');//Fügen Sie einen Wert vom Ende der Liste ein. $ret=$redis->rPush('city','guangzhou');//Erhalten Sie die Elemente im angegebenen Bereich der Liste. 0 steht für das erste Element der Liste, -1 für das letzte Element und -2 für das vorletzte Element. $ret=$redis->l

1: JSONArray-Liste. ;Listlist=JSONObject.parseArray(array.toJSONString(),String.class);System.out.println(list.to

Methoden zum Löschen von Elementen: 1. Verwenden Sie delete(), um das angegebene Element aus dem Set-Objekt zu löschen. Die Syntax lautet „setObj.delete(value);“ 2. Verwenden Sie clear(), um alle Elemente im Set-Objekt zu löschen Die Syntax lautet „setObj.delete(value);“ „setObj.clear();“.

So sortieren Sie eine Liste mithilfe der List.Sort-Funktion in C#. In der Programmiersprache C# müssen wir die Liste häufig sortieren. Die Sortierfunktion der List-Klasse ist ein leistungsstarkes Werkzeug, das für diesen Zweck entwickelt wurde. In diesem Artikel wird die Verwendung der List.Sort-Funktion in C# zum Sortieren einer Liste vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, diese Funktion besser zu verstehen und anzuwenden. Die List.Sort-Funktion ist eine Mitgliedsfunktion der List-Klasse, die zum Sortieren von Elementen in der Liste verwendet wird. Diese Funktion empfängt

Methode zum Konvertieren einer Liste in Numpy: 1. Verwenden Sie die Funktion numpy.array(). Der erste Parameter der Funktion ist ein Listenobjekt, das eine eindimensionale oder mehrdimensionale Liste sein kann. 2. Verwenden Sie die Funktion numpy.asarray(. )-Funktion, die ihr Bestes gibt, um den Datentyp der Eingabeliste zu verwenden. 3. Verwenden Sie die Funktion numpy.reshape(), um die eindimensionale Liste in ein mehrdimensionales NumPy-Array zu konvertieren ()-Funktion, der erste Parameter der Funktion ist ein iterierbares Objekt.

Beispiel In diesem Beispiel schauen wir uns zunächst die Verwendung von list.sort() an, bevor wir fortfahren. Hier haben wir eine Liste erstellt und sie mit der Methode sort() in aufsteigender Reihenfolge sortiert - #CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)# SorttheListsinAscendingOrdermyList .sort(

1. Der gebräuchlichste Weg (nicht unbedingt der beste) ist Arrays.asList(strArray). Nach der Konvertierung des Arrays in eine Liste können Sie die Liste nicht hinzufügen oder löschen, sondern nur überprüfen und ändern, da sonst eine Ausnahme ausgelöst wird . Schlüsselcode: Listlist=Arrays.asList(strArray);privatevoidtestArrayCastToListError(){String[]strArray=newString[2];Listlist=Arrays.asList(strArray);//Fügen Sie ein Datenelement in die konvertierte Liste ein list.add( " 1"
