Dieser Artikel untersucht hauptsächlich die Unterschiede zwischen ArrayList und LinkedList und den relevanten Inhalt der Nutzungsszenarien in der Java -Programmierung. Die Details sind wie folgt.
1. ArrayList wird basierend auf einem Array implementiert, und sein Konstruktor ist:
privates transientes Objekt [] elementData; private intgröße;
Wenn die ArryList initialisiert wird, stand die ElementData -Array -Größe auf 10;
Jedes Mal, wenn add (), rufen Sie zuerst die Sicherung () auf, um sicherzustellen, dass das Array nicht überfließt. Wenn es zu diesem Zeitpunkt voll ist, wird es auf das 1,5 -fache + 1 der Arraylänge erweitert und dann mit der Methode der Array.copy das ursprüngliche Array in das Neue Array kopiert.
ArrayList-Thread ist nicht sicher, die Vektormethode ist synchron, thread-safe;
2. Die LinkedList wird basierend auf doppelten Listen implementiert:
Objektelement; Eintrag als nächstes, vorher;
Während der Initialisierung gibt es einen Header -Eintrag mit dem Wert Null;
Der Vorteil der Verwendung von Header besteht darin, dass es einen Eintrag vor dem Einstieg und einen Eintrag nach dem Eingang in jedem Eintrag (einschließlich des ersten und letzten) gibt. Daher gibt es keinen besonderen Ort, um die Einfügenoperation am Anfang oder am Ende des LinkedList-Objekts auszuführen.
Szenarien verwenden:
(1) Wenn die Anwendung eine große Anzahl von Zugriffs- oder Löschvorgängen für Elemente an jeder Indexposition ausführt, ist das ArrayList -Objekt weitaus besser als das LinkedList -Objekt.
(2) Wenn die Anwendung die Liste hauptsächlich schleift und die Operation während des Schleifens einfügt oder löscht, ist das Objekt LinkedList weitaus besser als das ArrayList -Objekt.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über den Unterschied zwischen ArrayList und LinkedList und der Analyse des Nutzungsszenariocode. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!