Heim  >  Artikel  >  Java  >  Der Unterschied zwischen Java-Karte und Liste

Der Unterschied zwischen Java-Karte und Liste

angryTom
angryTomOriginal
2019-11-18 11:24:145194Durchsuche

Der Unterschied zwischen Java-Karte und Liste

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 ist festgelegt und kann durch Festlegen der Kapazität und Last angepasst werden Faktor durch die Containerleistung.

LinkedHashMap: Ähnlich wie HashMap, aber beim Durchlaufen ist die Reihenfolge, in der erhalten wird, die Einfügereihenfolge oder die am wenigsten kürzlich verwendete Reihenfolge (LRU).

TreeMap: TreeMap wird basierend auf rot-schwarzen Bäumen implementiert. Bei der Anzeige von werden sie sortiert. TreeMap ist die einzige Map mit einer subMap()-Methode, die einen Teilbaum zurückgeben kann.

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!

Stellungnahme:
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