Wie wandelt man Liste in Array in Java um

Hassan Saeed 12 Oktober 2023
  1. Konvertieren einer Liste in ein Array in Java
  2. Verwenden Sie toArray(), um eine Liste in ein Array von Referenztypen in Java zu konvertieren
  3. Verwenden Sie stream(), um eine Liste in ein Array in Java zu konvertieren
Wie wandelt man Liste in Array in Java um

In diesem Tutorial werden Methoden zur Konvertierung einer Liste in ein Array in Java besprochen.

Konvertieren einer Liste in ein Array in Java

Diese Methode erstellt einfach ein neues Array mit der gleichen Größe wie die Liste und iteriert über die Liste, wobei das Array mit Elementen gefüllt wird. Das folgende Beispiel veranschaulicht dies:

import java.util.*;
public class MyClass {
  public static void main(String args[]) {
    List<Integer> list = new ArrayList();
    list.add(1);
    list.add(2);
    int[] array = new int[list.size()];
    for (int i = 0; i < list.size(); i++) array[i] = list.get(i);
  }
}

Das resultierende Array enthält alle Elemente aus der Liste. Beachten Sie, dass diese Methode nicht verwendet werden sollte, wenn das resultierende Array von nicht primitiven Typen ist.

Verwenden Sie toArray(), um eine Liste in ein Array von Referenztypen in Java zu konvertieren

Diese Methode wird verwendet, wenn die Liste Elemente von Referenztypen wie z. B. Objekte einer Klasse enthält. Wir können die eingebaute Methode toArray() verwenden, um eine Liste eines solchen Typs in ein Array zu konvertieren. Das folgende Beispiel veranschaulicht dies:

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    // Define the Foo class
    class Foo {
      private int value;

      public Foo(int value) {
        this.value = value;
      }

      public int getValue() {
        return value;
      }
    }

    // Create instances of Foo
    Foo obj1 = new Foo(42);
    Foo obj2 = new Foo(99);

    // Create a List of Foo objects
    List<Foo> list = new ArrayList<>();
    
    // Add the obj1 and obj2 to the list
    list.add(obj1);
    list.add(obj2);

    // Convert the list to an array
    Foo[] array = list.toArray(new Foo[0]);

    // Print the values from the array
    for (Foo foo : array) {
      System.out.println("Value: " + foo.getValue());
    }
  }
}

Verwenden Sie stream(), um eine Liste in ein Array in Java zu konvertieren

Für Java 8 und höher können wir auch die stream() Methode der Stream API verwenden, um eine Liste in ein Array in Java zu konvertieren. Das folgende Beispiel veranschaulicht dies:

import java.util.*;
public class MyClass {
 public static void main(String args[]) {
   List<Integer> list = new ArrayList<>();
   list.add(1);
   list.add(2);
   Integer[] integers = list.stream().toArray(Integer[] ::new);

   // Print the converted array
   System.out.println(Arrays.toString(integers));
 }
}

Verwandter Artikel - Java Array