emsisdbond.com

  

Beste Artikel:

  
Main / Wie Vektor intern in Java funktioniert

Wie Vektor intern in Java funktioniert

ArrayList ist eine anpassbare Array-Implementierung der List-Schnittstelle i. ArrayList wächst dynamisch, wenn die Elemente hinzugefügt werden. Wenn die Größe der aktuellen Elemente einschließlich des neuen Elements, das der ArrayList hinzugefügt werden soll, größer als die maximale Größe des Arrays ist, erhöhen Sie die Größe des Arrays. Die Größe des Arrays kann jedoch nicht dynamisch erhöht werden. Intern wird also ein neues Array erstellt und das alte Array in das neue Array kopiert.

Intern verwendet eine ArrayList ein Object [] Array. Das gesamte Hinzufügen, Entfernen und Durchlaufen erfolgt auf diesem Array. Wie bereits erwähnt, wird in Java 8 das private Schlüsselwort entfernt, um den Zugriff auf die verschachtelte Klasse i zu ermöglichen.

Itr, ListItr, SubList. Wenn ein Objekt von ArrayList ohne anfängliche Kapazität erstellt wird, wird der Standardkonstruktor der ArrayList-Klasse aufgerufen. Es verwendet eine leere Array-Instanz, um das neue Objekt zu erstellen. Hier wird die Standardkapazität von 10 zum Zeitpunkt der leeren Initialisierung von ArrayList zugewiesen.

Wenn ein Objekt von ArrayList mit einer anfänglichen Kapazität erstellt wird, wird der ArrayList-Konstruktor aufgerufen, um das Array intern zu erstellen. Hier entspricht die Größe des Arrays dem im Konstruktor übergebenen Argument.

Dann beträgt die Größe des Arrays im obigen Beispiel 30. Ein Objekt von ArrayList kann auch basierend auf einer bestimmten Sammlung erstellt werden. Der obige ArrayList-Konstruktor erstellt eine nicht leere Liste mit den Elementen der im Konstruktor übergebenen Auflistung.

Im Objekt hinzufügen wird die Kapazität der ArrayList überprüft, bevor ein neues Element hinzugefügt wird. Hier ist die Implementierung der Add-Methode. Stellen Sie sich eine ArrayList mit Kapazität vor. In einigen Java-Implementierungen stellt die sureCapacity-Methode in der ArrayList-Klasse die neue Größe des zugrunde liegenden Arrays sicher: Erhöhung der Kapazität um durchschnittlich 1. O 1 -Zugriff und O 1 -Einfügung. Dies hat den Vorteil, dass etwas weniger Speicherplatz verschwendet wird, wenn die ArrayList nicht sehr voll ist.

Die Grow-Methode in der ArrayList-Klasse stellt die neue Größe des zugrunde liegenden Arrays sicher: Im obigen Code ist minCapacity die Größe der aktuellen Elemente einschließlich des neuen Elements, das der ArrayList hinzugefügt werden soll.

Die Additionsoperation wird in einer amortisierten konstanten Zeit ausgeführt, dh das Hinzufügen von n Elementen erfordert O n Zeit. Alle anderen Operationen werden in linearer Zeit ausgeführt.

Die Operationen size, isEmpty, get, set, iterator und listIterator werden in konstanter Zeit ausgeführt. O 1. Funktionsweise der Array-Liste für eine enthält-Methode Ich habe Code für TreeNode geschrieben und möchte ihn in einer Liste speichern, aber immer dann, wenn ich Aufruf enthält, es gibt wahr unten ist der Code.

Gute Erklärung der internen Implementierung von ArrayList, Bilder unterstützen die theoretische Erklärung sehr gut. Deine Email-Adresse wird nicht veröffentlicht. 1. Dezember 2017 9. April 2019 codeNuclear. Übersicht ArrayList ist eine Array-Implementierung mit veränderbarer Größe der List-Schnittstelle i. Wie wächst ArrayList dynamisch?

In Java 7 oder früher. Es ist gut zu teilen ... Schöner Artikel, genau das, wonach ich gesucht habe. Danke für so einen schönen Artikel. Ni e Weg, um die interne Arbeitsweise der Array-Liste zu erklären .. Gute Arbeit .. Hinterlasse eine Antwort Antwort abbrechen Deine E-Mail-Adresse wird nicht veröffentlicht.

(с) 2019 emsisdbond.com