Ich war schon immer jemand, der einfach nur benutzt:
List<String> names = new ArrayList<>();
Ich verwende die Schnittstelle als Typbezeichnung für Portabilität, so dass ich bei Fragen wie diesen meinen Code überarbeiten kann.
Wann sollte LinkedList
gegenüber ArrayList
verwendet werden und umgekehrt?
Es ist eine Frage der Effizienz. LinkedList" ist schnell beim Hinzufügen und Löschen von Elementen, aber langsam beim Zugriff auf ein bestimmtes Element. ArrayList" ist schnell für den Zugriff auf ein bestimmtes Element, kann aber langsam beim Hinzufügen an beiden Enden und besonders langsam beim Löschen in der Mitte sein.
Array vs. ArrayList vs. LinkedList vs. Vector geht mehr in die Tiefe, ebenso wie Linked List.
ArrayList" ist willkürlich zugänglich, während "LinkedList" wirklich billig zu erweitern und Elemente zu entfernen ist. Für die meisten Fälle ist "ArrayList" in Ordnung.
Sofern Sie keine großen Listen erstellt und einen Engpass gemessen haben, werden Sie sich wahrscheinlich nie um den Unterschied kümmern müssen.
Es hängt davon ab, welche Operationen Sie auf der Liste durchführen werden.
ArrayList" ist schneller beim Zugriff auf einen indizierten Wert. Beim Einfügen oder Löschen von Objekten ist es viel schlechter.
Um mehr darüber zu erfahren, lesen Sie einen beliebigen Artikel, der den Unterschied zwischen Arrays und verknüpften Listen behandelt.