Der Unterschied zwischen Java-Karte und Liste
Karte (Mapping)
Map ist eine Sammlung, die Schlüsselobjekte und Wertobjekte zuordnet. Jedes Element davon enthält ein Schlüsselobjekt und ein Wertobjekt. Map verfügt hauptsächlich über die folgenden zwei Implementierungsklassen:
HashMap: HashMap wird basierend auf einer Hash-Tabelle implementiert. Der Aufwand für das Einfügen und Abfragen von
LinkedHashMap: Ähnlich wie HashMap, aber beim Durchlaufen ist die Reihenfolge, in der
TreeMap: TreeMap wird basierend auf rot-schwarzen Bäumen implementiert. Bei der Anzeige von
Liste (Liste)
Die Elemente von List werden linear gespeichert und können wiederholte Objekte speichern. List verfügt hauptsächlich über die folgenden zwei Implementierungsklassen:
ArrayList: Ein Array mit variabler Länge, das den wahlfreien Zugriff auf Elemente in ArrayList ermöglicht. Die Implementierung der ArrayList-Erweiterung in JDK8 besteht darin, die Anweisung newCapacity = oldCapacity + (oldCapacity >> 1) (d. h. 1,5-fache Erweiterung) in der Methode grow() zu verwenden, um die Kapazität zu berechnen, und dann Arrays.copyof() aufzurufen Methode zum Kopieren des ursprünglichen Arrays.
LinkedList: Bei Verwendung der Datenstruktur einer verknüpften Liste erfolgt das Einfügen und Löschen schnell, die Zugriffsgeschwindigkeit ist jedoch langsam.
比较 | List | Map |
---|---|---|
继承接口 | Collection | |
常见实现类 | AbstractList(其常用子类有ArrayList、LinkedList、Vector) | HashMap、HashTable |
常见方法 | add( )、remove( )、clear( )、get( )、contains( )、size( ) | put( )、get( )、remove( )、clear( )、containsKey( )、containsValue( )、keySet( )、values( )、size( ) |
元素 | 可重复 | 不可重复 |
顺序 | 有序 | |
线程安全 | Vector线程安全 | Hashtable线程安全 |
php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen zum Online-Lernen!
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Java-Karte und Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!