Heim >Java >JavaErste Schritte >Ü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-Schnittstelle1. 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!