Heim Java JavaErste Schritte Was sind die Unterschiede zwischen ArrayList, LinkedList und Vector?

Was sind die Unterschiede zwischen ArrayList, LinkedList und Vector?

Aug 06, 2020 pm 04:01 PM
arraylist linkedlist vector

1. Analyse aus der Speicherdatenstruktur Ray: kann schnell sein Basierend auf der Suche nach Indizes, sodass die Abfrage in den meisten Fällen schnell erfolgt.

Was sind die Unterschiede zwischen ArrayList, LinkedList und Vector?Aber wenn Sie Additions- und Löschvorgänge ausführen möchten, müssen Sie alle Elemente hinter das geänderte Element verschieben, sodass der Aufwand für Additionen und Löschungen relativ groß ist und die Ausführungseffizienz der Additions- und Löschvorgänge des Arrays relativ hoch ist ist niedrig. ArrayList und Vector, die Arrays als Datenspeicherstrukturen verwenden, weisen ebenfalls eine hohe Abfragegeschwindigkeit auf (kann direkt basierend auf dem Index abgerufen werden, was schneller ist als die iterative Suche), und das Hinzufügen und Löschen ist langsam.

Verknüpfte Liste: Es ist praktisch, Elemente hinzuzufügen und zu löschen. Um ein Element hinzuzufügen oder zu löschen, müssen Sie sich nur mit den Referenzen zwischen Knoten befassen. Wenn Sie jemanden hinzufügen oder löschen möchten, müssen Sie, genau wie Menschen, die sich hintereinander Händchen halten, nur die beiden Personen in der Nähe ändern, um mit einer anderen Person Händchen zu halten. Dies hat keine Auswirkungen auf die Personen, die sich bereits an den Händen halten. Der Ressourcen- und Zeitaufwand für die Substitution ist überall gleich. Die Suche ist jedoch umständlich. Sie muss einzeln verglichen werden und kann nicht direkt anhand des Indexes durchsucht werden. LinkedList, das in einer verknüpften Listenstruktur gespeichert ist, weist ebenfalls diese Eigenschaften auf. Es ist einfach hinzuzufügen und zu löschen, aber langsam abzufragen (bezogen auf zufällige Abfragen, nicht auf sequentielle Abfragen).

2. Analyse aus der Perspektive der Vererbung

Sie alle implementieren die List-Schnittstelle, was bedeutet, dass sie alle get(int location), remove(int location) usw. implementieren, um Knoten basierend abzurufen und zu löschen auf den Indexwert „Funktion“.

(Empfohlenes Video-Tutorial:

Java-Video-Tutorial)

Es ist einfach, den Wert der Array-Struktur gemäß dem Index zu ermitteln. Die Implementierung der bidirektionalen LinkedList-Liste ist ebenfalls relativ einfach Wenn der Index groß ist, beginnen Sie mit der Suche am Anfang der Tabelle. Wenn er klein ist, beginnen Sie mit der Suche am Ende der Tabelle.

3. Analyse aus Sicht der Parallelitätssicherheit

Vektor: Thread-Sicherheit ArrayList: Nicht-Thread-Sicherheit

LinkedList: Nicht-Thread-Sicherheit Was sind die Unterschiede zwischen ArrayList, LinkedList und Vector?

Vektor: Standardmäßig , Wächst auf die doppelte Länge des ursprünglichen Arrays. Apropos Standard bedeutet, dass er die Initialisierungsgröße tatsächlich unabhängig festlegen kann.

ArrayList: Erhöht sich automatisch um 50 % des ursprünglichen Arrays.

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen ArrayList, LinkedList und Vector?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen der Verwendung von foreach und iterator zum Löschen von Elementen beim Durchlaufen von Java ArrayList? Was ist der Unterschied zwischen der Verwendung von foreach und iterator zum Löschen von Elementen beim Durchlaufen von Java ArrayList? Apr 27, 2023 pm 03:40 PM

1. Der Unterschied zwischen Iterator und foreach ist der polymorphe Unterschied (die unterste Ebene von foreach ist Iterator ein Schnittstellentyp, und es ist egal, ob for und foreach der Typ bekannt ist). 1. Warum heißt es, dass die unterste Ebene von foreach der von Iterator geschriebene Code ist: 2. Der Unterschied zwischen „remove in foreach“ und „iterator“. im Alibaba Java Development Manual, aber in Fall 1 wird kein Fehler gemeldet, und in Fall 2 wird zuerst ein Fehler gemeldet (java. util.ConcurrentModificationException).

Wie überprüfe ich, ob ArrayList ein bestimmtes Element in Java enthält? Wie überprüfe ich, ob ArrayList ein bestimmtes Element in Java enthält? Sep 03, 2023 pm 04:09 PM

Mit der Methode „contains()“ der Schnittstelle „List“ können Sie prüfen, ob ein Objekt in der Liste vorhanden ist. enthält()-Methode booleancontains(Objecto) Gibt „true“ zurück, wenn diese Liste das angegebene Element enthält. Formeller ausgedrückt: Gibt genau dann „true“ zurück, wenn diese Liste mindestens ein Element e enthält, sodass (o==null?e==null:o.equals(e)). Parameter c – das Element, dessen Anwesenheit in dieser Liste getestet werden soll. Rückgabewert Gibt „true“ zurück, wenn diese Liste das angegebene Element enthält. Löst eine ClassCastException aus – wenn der Typ des angegebenen Elements mit dieser Liste nicht kompatibel ist (optional). NullP

Entfernen Sie Elemente aus ArrayList mit der Java-Funktion ArrayList.remove() Entfernen Sie Elemente aus ArrayList mit der Java-Funktion ArrayList.remove() Jul 24, 2023 pm 01:21 PM

Verwenden Sie die ArrayList.remove()-Funktion von Java, um Elemente aus einer ArrayList zu entfernen. In Java ist ArrayList eine häufig verwendete Sammlungsklasse, die zum Speichern und Betreiben einer Reihe von Elementen verwendet wird. Die ArrayList-Klasse bietet viele Methoden zum Hinzufügen, Löschen, Ändern und Abfragen von Elementen in der Sammlung. Eine der am häufigsten verwendeten Methoden ist „remove()“, mit der Elemente aus einer ArrayList entfernt werden können. Die Methode „remove()“ von ArrayList hat zwei überladene Formen: eine

Verwenden Sie die Methode „removeLast()' der Klasse „LinkedList', um das letzte Element in der verknüpften Liste zu löschen Verwenden Sie die Methode „removeLast()' der Klasse „LinkedList', um das letzte Element in der verknüpften Liste zu löschen Jul 24, 2023 pm 05:13 PM

Verwenden Sie die Methode „removeLast()“ der Klasse „LinkedList“, um das letzte Element in der verknüpften Liste zu löschen. LinkedList ist eine allgemeine Datenstruktur im Java-Sammlungsframework. Sie speichert Elemente in Form einer doppelt verknüpften Liste. Mithilfe der von der LinkedList-Klasse bereitgestellten Methoden können wir die verknüpfte Liste problemlos bearbeiten, z. B. Elemente hinzufügen, löschen und ändern. In einigen Szenarien müssen wir möglicherweise das letzte Element in der verknüpften Liste löschen. Die LinkedList-Klasse stellt „removeLas“ bereit

Was ist der Grund, warum die anfängliche Kapazität von ArrayList in Java 10 beträgt? Was ist der Grund, warum die anfängliche Kapazität von ArrayList in Java 10 beträgt? May 10, 2023 pm 02:19 PM

Warum ist die anfängliche Kapazität von HashMap 16? Wenn wir über die Initialisierungskapazität von ArrayList sprechen, müssen wir zunächst die Initialisierungskapazität von HashMap überprüfen. Am Beispiel des Java8-Quellcodes gibt es in HashMap zwei relevante Faktoren: Initialisierungskapazität und Ladefaktor: /***Thedefaultinitialcapacity-MUSTbeapoweroftwo.*/staticfinalintDEFAULT_INITIAL_CAPACITY=1>1);if(newCapacity-minCapacity0)newCapacity=hugeCapacity

Verwenden Sie die ArrayList.clear()-Funktion von Java, um die Elemente in der ArrayList zu löschen Verwenden Sie die ArrayList.clear()-Funktion von Java, um die Elemente in der ArrayList zu löschen Jul 24, 2023 pm 02:04 PM

Verwenden Sie die ArrayList.clear()-Funktion von Java, um die Elemente in der ArrayList zu löschen. In der Java-Programmierung ist ArrayList eine sehr häufig verwendete Datenstruktur, die Elemente dynamisch speichern und darauf zugreifen kann. In einigen Fällen müssen wir jedoch möglicherweise alle Elemente in der ArrayList löschen, um den Speicher wiederzuverwenden oder freizugeben. Zu diesem Zeitpunkt können Sie die Funktion clear () von ArrayList verwenden, um dies zu erreichen. ArrayList.clear()

Java verwendet die Funktion enthält() der Klasse ArrayList, um festzustellen, ob ein Element vorhanden ist Java verwendet die Funktion enthält() der Klasse ArrayList, um festzustellen, ob ein Element vorhanden ist Jul 24, 2023 pm 07:33 PM

Java verwendet die Funktion contains() der Klasse ArrayList, um zu bestimmen, ob ein Element vorhanden ist. ArrayList ist eine sehr häufig verwendete Datenstruktur in der Java-Programmierung. Es bietet eine flexible Möglichkeit, einen Datensatz zu speichern und zu bearbeiten. Zusätzlich zum einfachen Hinzufügen, Löschen und Zugreifen auf Elemente bietet ArrayList auch einige nützliche Methoden, wie beispielsweise die Funktion enthält(), mit der ermittelt wird, ob ein Element in der ArrayList vorhanden ist. Die Funktion enthält () ist A

Java-Programm zum Hinzufügen von Elementen zu LinkedList Java-Programm zum Hinzufügen von Elementen zu LinkedList Aug 26, 2023 pm 10:21 PM

LinkedList ist eine allgemeine Klasse von JavaCollectionFramework, die drei Schnittstellen implementiert: List, Deque und Queue. Es bietet die Funktionalität der LinkedList-Datenstruktur, einer linearen Datenstruktur, in der jedes Element miteinander verknüpft ist. Wir können eine Vielzahl von Vorgängen für eine LinkedList ausführen, einschließlich des Hinzufügens, Entfernens und Durchlaufens von Elementen. Um Elemente zur LinkedList-Sammlung hinzuzufügen, können wir verschiedene integrierte Methoden wie add(), addFirst() und addLast() verwenden. Wir werden untersuchen, wie Sie diese Methoden verwenden, um Elemente zu einer LinkedList hinzuzufügen. in Java

See all articles