Heim > Java > JavaErste Schritte > Hauptteil

Übersicht über die Sammlungsschnittstelle und die Kartenschnittstelle

王林
Freigeben: 2020-08-14 16:54:02
nach vorne
2531 Leute haben es durchsucht

Übersicht über die Sammlungsschnittstelle und die Kartenschnittstelle

Java-Sammlung ist wie ein Container, der jede Art von Daten speichern kann. In Java sind Sammlungsklassen normalerweise im Paket Java.util vorhanden.

(Empfohlenes Tutorial: Java-Einführungs-Tutorial)

Java-Sammlungen bestehen hauptsächlich aus zwei Hauptsystemen, nämlich dem Sammlungssystem und dem Kartensystem. Unter diesen sind das Sammlungssystem und das Kartensystem jeweils die Schnittstellen der obersten Ebene in den beiden Systemen.

Collection verfügt hauptsächlich über drei Unterschnittstellen, nämlich List, Set und Queue.

Geordnet und wiederholbar: Liste, Warteschlange

Ungeordnet und nicht wiederholbar: Set

Sammlungsschnittstelle

1. Liste ist geordnet und wiederholbar

1. ArrayList

Vorteile: Die zugrunde liegende Datenstruktur ist ein Array, Abfrage Schnell, langsam hinzuzufügen und zu löschen.

Nachteile: Thread-unsicher, aber hohe Effizienz.

2. Vektor

Vorteile: Die zugrunde liegende Datenstruktur ist ein Array, was das Abfragen schnell und das Hinzufügen und Löschen langsam macht.

Nachteile: Thread-Sicherheit, geringe Effizienz

3. LinkedList

Vorteile: Die zugrunde liegende Datenstruktur ist ein Array, die Abfrage ist langsam und Blöcke werden hinzugefügt und gelöscht.

Nachteile: Thread unsicher, hohe Effizienz

2. Set ist ungeordnet, das einzige HashSet

Die zugrunde liegende Datenstruktur ist eine Hash-Tabelle. (Ungeordnet, eindeutig)

Wie stellt man die Einzigartigkeit von Elementen sicher?

Verlässt sich auf zwei Methoden: hashCode() und equal()

2LinkedHashSet

Die zugrunde liegende Datenstruktur ist eine verknüpfte Liste und eine Hash-Tabelle. (FIFO-Einfügung ist geordnet, eindeutig)

Ⅰ Die Elemente werden durch die Hash-Tabelle geordnet und sind eindeutig

3. Die zugrunde liegende Datenstruktur ist eine rote. schwarzer Baum. (Einzigartig, geordnet)

Wie stellt man die Sortierung der Elemente sicher?

Natürliche Sortierung, Komparatorsortierung.

Wie kann die Einzigartigkeit von Elementen sichergestellt werden?

Die Entscheidung basiert darauf, ob der Rückgabewert des Vergleichs 0 ist.

(Video-Tutorial-Empfehlung:

Java-Kurs

)

Map-Schnittstelle

1. Die Map-Schnittstelle verfügt über drei wichtige Implementierungsklassen: HashMap, TreeMap und HashTable.

2. Geordnet: TreeMap. Ungeordnet: HashMap, HashTable. 3. Der Hauptunterschied zwischen HashTable und HashMap:

Die Methode von Hashtable ist synchron, aber die Methode von HashMap ist nicht synchron.

4. Hashtable ist Thread-sicher, HashMap ist jedoch nicht Thread-sicher.

5. HashMap ist effizienter, während Hashtable weniger effizient ist.

Wenn Sie keine Anforderungen an die Synchronisierung oder Kompatibilität mit Legacy-Code haben, wird die Verwendung von HashMap empfohlen. Wenn wir uns den Quellcode von Hashtable ansehen, können wir feststellen, dass mit Ausnahme des Konstruktors alle öffentlichen Methodendeklarationen von Hashtable das synchronisierte Schlüsselwort haben, der Quellcode von HashMap enthält jedoch kein solches Schlüsselwort.

6. Hashtable erlaubt keine Nullwerte und HashMap erlaubt Nullwerte (sowohl Schlüssel als auch Werte sind zulässig).

7. Verschiedene übergeordnete Klassen: Die übergeordnete Klasse von Hashtable ist Dictionary und die übergeordnete Klasse von HashMap ist AbstractMap.

Das obige ist der detaillierte Inhalt vonÜbersicht über die Sammlungsschnittstelle und die Kartenschnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage