Java LinkedList toArray()-Methode

Java LinkedList Java LinkedList


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:

Object[] toArray()

Generische Form:

<T> T[] toArray(T[] a)

Methodendetails

Grundform toArray()

Beispiel

Object[] toArray()

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 einObject[]Typ-Array
  • Das neue Array ist unabhängig vom OriginalLinkedListverkettete Liste
  • Das Ändern des zurückgegebenen Arrays wirkt sich nicht auf das Original ausLinkedList

verkettete Liste:

Beispiel

import java.util.LinkedList;

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

<T> T[] toArray(T[] a)

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 derLinkedListverkettete Liste
  • Wenn das angegebene Array groß genug ist, wird dieses Array zurückgegeben
  • Andernfalls wird ein neu alloziertes Array zurückgegeben

Beispielcode:

Beispiel

import java.util.LinkedList;

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:

  1. Wenn Sie eineLinkedListverkettete Liste in ein Array fester Größe
  2. Wenn bestimmte APIs oder Methoden nur Arrays als Parameter akzeptieren
  3. Wenn Sie arrayspezifische Operationen auf Sammlungselementen ausführen müssen
  4. Wenn Sie die Leistung bestimmter Operationen verbessern müssen (Array-Zugriff ist normalerweise schneller als Zugriff auf verkettete Listen)

Hinweise

  1. TypsicherheitDie grundlegende Form vontoArray()toArray() gibt zurückObject[]Object[], was möglicherweise eine Typumwandlung erfordert
  2. 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 aufnull
  3. nullLeistungsaspekte
  4. Häufige Konvertierung kann die Leistung beeinträchtigen, insbesondere bei großen SammlungenGleichzeitige ÄnderungConcurrentModificationException

Best Practices

  1. ConcurrentModificationException kann ausgelöst werdenBewährte MethodentoArray(T[] a)Verwenden Sie die generische Form
  2. Bevorzugen Sie die Verwendung vontoArray(T[] a), um typsichere Arrays zu erhaltenlist.size()Array-Größe angeben
  3. Sie können:toArray(new String[0])new String

Empfohlene Vorgehensweise:

Beispiel

LinkedList<String> list = new LinkedList<>();
// 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 Java LinkedList

Andere Erweiterungen