Java LinkedList toArray()-Methode
toArray()ist eine praktische Methode in JavaLinkedListvon der Klasse bereitgestellt, verwendet, um alle Elemente in einer verknüpften Liste in ein Array umzuwandeln. Diese Methode gehört zurjava.util.LinkedListKlasse und wird geerbt von derjava.util.AbstractCollectionclass.
Methodensyntax
LinkedListDie Klasse bietet zweitoArray()überladene Formen der Methode:
Grundform:
Generische Form:
Methodendetails
Grundform toArray()
Beispiel
Diese Methode gibt ein Array zurück, das Folgendes enthält:LinkedListalle Elemente in derObjectArray. Die Reihenfolge der Elemente im Array ist dieselbe wie die Iterationsreihenfolge der Elemente in der verketteten Liste.
Eigenschaften:
- Gibt ein
Object[]Typ-Array - Das neue Array ist unabhängig vom Original
LinkedListverkettete Liste - Das Ändern des zurückgegebenen Arrays wirkt sich nicht auf das Original aus
LinkedList
verkettete Liste:
Beispiel
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
Object[] array = list.toArray();
for (Object item : array) {
System.out.println(item);
}
}
}
Generische Form toArray(T[] a)
Beispiel
Beispiel
Diese Methode ermöglicht es Ihnen, den Typ des zurückgegebenen Arrays anzugeben, wodurch sie flexibler und sicherer als die Basisform ist.:
aParameter
Gibt ein Array zurück, das Folgendes enthält:
- alle Elemente der
LinkedListverkettete Liste - Wenn das angegebene Array groß genug ist, wird dieses Array zurückgegeben
- Andernfalls wird ein neu alloziertes Array zurückgegeben
Beispielcode:
Beispiel
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
String[] array = list.toArray(new String[0]);
for (String item : array) {
System.out.println(item);
}
}
}
Anwendungsfälle
toArray()Die Methode ist besonders nützlich in den folgenden Situationen:
- Wenn Sie eine
LinkedListverkettete Liste in ein Array fester Größe - Wenn bestimmte APIs oder Methoden nur Arrays als Parameter akzeptieren
- Wenn Sie arrayspezifische Operationen auf Sammlungselementen ausführen müssen
- Wenn Sie die Leistung bestimmter Operationen verbessern müssen (Array-Zugriff ist normalerweise schneller als Zugriff auf verkettete Listen)
Hinweise
- TypsicherheitDie grundlegende Form von
toArray()toArray() gibt zurückObject[]Object[], was möglicherweise eine Typumwandlung erfordert - Array-GrößeBei der generischen Form wird, wenn das übergebene Array zu klein ist, automatisch ein neues Array erstellt; wenn das übergebene Array zu groß ist, werden die zusätzlichen Positionen gesetzt auf
null - nullLeistungsaspekte
- Häufige Konvertierung kann die Leistung beeinträchtigen, insbesondere bei großen SammlungenGleichzeitige Änderung
ConcurrentModificationException
Best Practices
- ConcurrentModificationException kann ausgelöst werdenBewährte Methoden
toArray(T[] a)Verwenden Sie die generische Form - Bevorzugen Sie die Verwendung vontoArray(T[] a), um typsichere Arrays zu erhalten
list.size()Array-Größe angeben - Sie können:
toArray(new String[0])new String
Empfohlene Vorgehensweise:
Beispiel
// Elemente hinzufügen...
// Bewährte Methode: Verwenden Sie ein leeres Array als Parameter
String[] array = list.toArray(new String[0]);
// Oder geben Sie die Größe explizit an
String[] sizedArray = list.toArray(new String[list.size()]);
Zusammenfassung
LinkedListvontoArray()Die Methode bietet eine bequeme Möglichkeit, eine verknüpfte Liste in ein Array umzuwandeln. Das Verständnis der Unterschiede und Anwendungsszenarien dieser beiden Formen (Basisform und generische Form) kann Ihnen helfen, effizienteren und sichereren Code zu schreiben. In der tatsächlichen Entwicklung wird empfohlen, die generische Form für bessere Typsicherheit zu verwenden.
Java LinkedList