Beide Schnittstellen werden von Collection geerbt.
List (Schnittstelle)
Reihenfolge ist das wichtigste Merkmal von List, das sicherstellt, dass die spezifische Reihenfolge der Elemente beibehalten wird
—. – ArrayList Ermöglicht schnellen Direktzugriff auf Elemente. Der Aufwand für das Einfügen und Entfernen aus der Mitte der Liste ist nicht groß removeLast(). .Diese Methoden ermöglichen die Verwendung von LinkedList als Stapel/Warteschlange/bidirektionale Warteschlange.
--HashSet definieren, ein Set, das für die schnelle Suche konzipiert ist, und das im HashSet gespeicherte Objekt muss hashCode() definieren --TreeSet, ein Set, das die Reihenfolge schützt, kann aus dem Set extrahiert werden, indem die geordnete Sequenz
verwendet wird. --LinkedHashSet Hat die Abfragegeschwindigkeit von HashSet und verwendet intern eine verknüpfte Liste, um die Reihenfolge der Elemente beizubehalten 🎜>
Die Speichermethoden sind unterschiedlich:
HashSet verwendet eine Hash-Funktion, die speziell für schnelle Abfragen entwickelt wurde .
LinkedHashSet verwendet intern Hashing, um Abfragen zu beschleunigen, während verknüpfte Listen verwendet werden, um die Reihenfolge der Elemente beizubehalten.
Bei Verwendung von HashSet/TreeSet muss equal() für die Klasse definiert werden; für HashSet. Wenn equal() als Programmierstil überschrieben wird, sollte auch hashCode() überschrieben werden.