Heim  >  Artikel  >  Java  >  Was bedeutet ein Container in Java?

Was bedeutet ein Container in Java?

王林
王林nach vorne
2019-11-25 15:56:184307Durchsuche

Was bedeutet ein Container in Java?

1. Was ist ein Container?

In Java gibt es eine Klasse, die speziell zum Speichern von Objekten verwendet wird Bei anderen Klassen wird diese Klasse als Container bezeichnet. Dabei handelt es sich um ein Ganzes, das durch die Kombination mehrerer Klassenobjekte mit gleichen oder ähnlichen Eigenschaften gebildet wird.

Einführung in mehrere gängige Container:

Empfohlene Java-Lernvideo-Tutorials: Java-Lehrvideo

1. Liste

Eine geordnete Sammlung (auch Sequenz genannt). Benutzer dieser Schnittstelle haben genaue Kontrolle darüber, wo jedes Element in der Liste eingefügt wird. Benutzer können auf Elemente basierend auf ihrem ganzzahligen Index (Position in der Liste) zugreifen und nach Elementen in der Liste suchen. Im Gegensatz zu Mengen erlauben Listen im Allgemeinen doppelte Elemente.

Arraylist: Objektarray

Vektor: Objektarray

LinkedList: Doppelt verknüpfte Liste (zirkulär verknüpfte Liste, bevor JDK1.6, JDK1.7 den Zyklus abgebrochen hat)

2. Set

Eine Sammlung, die keine doppelten Elemente enthält. Genauer gesagt enthält set kein Elementpaar e1 und e2, das e1.equals(e2) erfüllt, und enthält höchstens ein Nullelement. Wie der Name schon sagt, ahmt diese Schnittstelle die mathematische Mengenabstraktion nach.

HashSet (ungeordnet, eindeutig): Basierend auf HashMap verwendet die unterste Ebene HashMap, um Elemente zu speichern.

LinkedHashSet: LinkedHashSet erbt von HashSet und wird intern über LinkedHashMap implementiert.

LinkedHashMap wird intern auf Basis von Hashmap implementiert, es gibt jedoch noch einige Unterschiede.

TreeSet (geordnet, eindeutig): Rot-Schwarz-Baum (selbstausgleichender sortierter Binärbaum).

3. Karte

Ein Objekt, das Schlüssel Werten zuordnet. Eine Zuordnung darf keine doppelten Schlüssel enthalten; jeder Schlüssel kann höchstens einem Wert zugeordnet werden.

HashMap: Vor JDK1.8 bestand HashMap aus Array + verknüpfter Liste. Array ist der Hauptteil von HashMap, und verknüpfte Listen dienen hauptsächlich der Lösung von Hash-Konflikten („Zipper-Methode“ zur Lösung von Konflikten). Seit JDK1.8 gab es große Änderungen bei der Lösung von Hash-Konflikten. Wenn die Länge der verknüpften Liste den Schwellenwert überschreitet (Standard ist 8), wird die verknüpfte Liste in einen rot-schwarzen Baum umgewandelt, um die Suchzeit zu verkürzen

LinkedHashMap: LinkedHashMap Von HashMap geerbt, daher basiert die unterste Ebene immer noch auf der Zipper-Hash-Struktur, die aus Arrays und verknüpften Listen oder rot-schwarzen Bäumen besteht.

Darüber hinaus fügt LinkedHashMap eine doppelt verknüpfte Liste basierend auf der obigen Struktur hinzu, sodass die obige Struktur die Einfügereihenfolge von Schlüssel-Wert-Paaren beibehalten kann. Gleichzeitig wird die Zugriffssequenz-bezogene Logik implementiert, indem entsprechende Operationen an der verknüpften Liste ausgeführt werden.

Hashtable: Es besteht aus einem Array + einer verknüpften Liste. Das Array ist der Hauptteil von HashMap, und die verknüpfte Liste dient hauptsächlich der Lösung von Hash-Konflikten.

TreeMap: Rot-Schwarz-Baum (selbstausgleichender sortierter Binärbaum)

4. Warteschlange

wird verwendet, um die Sammlung von Elementen vorher zu speichern sie zu verarbeiten. Zusätzlich zu den grundlegenden Erfassungsvorgängen bieten Warteschlangen zusätzliche Einfügungs-, Extraktions- und Inspektionsvorgänge.

Empfohlene verwandte Artikel und Tutorials: Einführung in die Java-Sprache

Das obige ist der detaillierte Inhalt vonWas bedeutet ein Container in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen