Was sind Java-Sammlungen?
Die in der Java-API verwendeten Sammlungsklassen implementieren alle die Sammlungsschnittstelle Vererbungsstruktur von 🎜>CollectionCollectionCollectionVektor
1) Die zugrunde liegende Datenstruktur ist ein Array, das schnell abgefragt, aber langsam hinzugefügt und gelöscht werden kann
2 ) Thread-sicher und geringe Effizienz
Eine auf Array basierende Liste kapselt tatsächlich einige Funktionen, die Array für unsere Verwendung nicht hat. Es kann nicht in die Einschränkungen von Array fallen. Es ist unmöglich, Array in der Leistung zu übertreffen. Daher sollten wir Array nach Möglichkeit häufiger verwenden. Ein weiterer sehr wichtiger Punkt ist, dass Vector „synchronisiert“ ist, was auch der einzige Unterschied zwischen Vector und ArrayList ist.ArrayList
1). Die zugrunde liegende Datenstruktur ist ein Array, das schnell durchsucht und langsam hinzugefügt und gelöscht werden kann. 2) Thread unsicher und hocheffizient Wie Vector ist es eine verknüpfte Liste, die auf Array basiert, aber der Unterschied besteht darin, dass ArrayList nicht synchronisiert ist. Daher ist es Vector hinsichtlich der Leistung überlegen, aber wenn es in einer Multithread-Umgebung ausgeführt wird, müssen Sie die Synchronisierung der Threads selbst verwalten.LinkedList
1) Die zugrunde liegende Datenstruktur ist eine verknüpfte Liste, die langsam abzufragen und schnell hinzuzufügen und zu löschen ist
2) Thread-unsicher und hocheffizient
1 Die Daten des Knotens selbst (Daten); Daher besteht beim Hinzufügen und Löschen von Aktionen zu einer LinkedList keine Notwendigkeit, große Datenmengen wie bei einer Array-basierten Liste zu verschieben. Dies kann erreicht werden, solange die relevanten Informationen von nextNode geändert werden. Dies ist der Vorteil von LinkedList.
Hashset-Sammlung:
1) Die zugrunde liegende Datenstruktur ist eine Hash-Tabelle, die auf zwei Methoden basiert: hascode() und equal()-Methode 2) Die Ausführungsreihenfolge der beiden Methoden: Bestimmen Sie zunächst, ob die hascode()-Werte gleich sind Ja: Führen Sie die Methode equal() weiter aus und sehen Sie sich deren Rückgabe an WertJa wahr: Das bedeutet, dass die Elemente wiederholt werden und
nicht hinzugefügt werden. Falsch: Fügen Sie einfach das Element direkt hinzu SammlungTreeset-Sammlung:
1) Die zugrunde liegende Datenstruktur ist ein BinärbaumZusammenfassung:
1. Alle Listen können nur eine einzige Tabelle enthalten, die aus Objekten unterschiedlichen Typs besteht, und nicht aus Schlüssel-Wert-Paaren. Zum Beispiel: [ tom,1,c ]; Alle Listen können die gleichen Elemente haben, zum Beispiel kann Vector [ tom,koo,koo ] haben; . Alle Listen können Nullelemente haben, wie zum Beispiel [tom,null,1];4 ist für die Abfrage geeignet, während LinkedList (verknüpfte Liste) für die Hinzufügung geeignet ist und Löschvorgänge.
HashSet: Obwohl Set und List beide die Collection-Schnittstelle implementieren, sind ihre Implementierungsmethoden recht unterschiedlich. Die Liste basiert grundsätzlich auf Array. Aber Set wird auf Basis von HashMap implementiert. Dies ist der grundlegende Unterschied zwischen Set und List. Die Speichermethode von HashSet besteht darin, den Schlüssel in HashMap als entsprechendes Speicherelement von Set zu verwenden. php Chinesische Website, eine große Anzahl kostenloserJava-Einführungs-Tutorials, willkommen zum Online-Lernen!
Das obige ist der detaillierte Inhalt vonWas sind Java-Sammlungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!