HOWTO · Java

Converti un array in una lista in Java

L'articolo introduce i metodi per convertire un array in una lista in Java

Questo tutorial discute tre metodi per convertire un array in una lista in Java.

Crea una lista vuoto e aggiungi tutti gli elementi

È un metodo molto banale e scontato. Possiamo creare una lista vuoto, scorrere tutti gli elementi nell’array e aggiungerli all’lista.

L’esempio seguente lo illustra:

import java.util.*;
import java.util.stream.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = new ArrayList<>();
    for (int i = 0; i < myArray.length; i++) {
      myList.add(myArray[i]);
    }
    System.out.println(myList);
  }
}

Produzione:

> [1, 2, 3]

Usa Arrays.asList() per convertire un array in una lista in Java

Possiamo usare il metodo integrato fornito dalla classe Arrays per convertire un array in una lista - Arrays.asList(arr). Assicurati di importare java.util.* Nel tuo codice.

L’esempio seguente lo illustra.

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = Arrays.asList(myArray);
    System.out.println(myList);
  }
}

Produzione:

> [1, 2, 3]

Tuttavia, questo metodo produce una lista di dimensioni fisse e non possiamo aggiungervi altri elementi.

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = Arrays.asList(myArray);
    myList.add("4");
  }
}

Produzione:

> Exception in thread "main" java.lang.UnsupportedOperationException
	at java.base/java.util.AbstractList.add(AbstractList.java:153)
	at java.base/java.util.AbstractList.add(AbstractList.java:111)
	at MyClass.main(MyClass.java:6)

Usa new ArrayList<>(Arrays.asList(arr)) per convertire un array in una lista in Java

Questo metodo, new ArrayList<>(Arrays.asList(integers)); ti consente di convertire un array in una lista e di aggiungere puoi anche aggiungere ulteriori elementi all’lista risultante. Usa l’esempio seguente per illustrare questo:

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = new ArrayList<>(Arrays.asList(myArray));
    System.out.println("After conversion from array to list: " + myList);
    myList.add("4");
    System.out.println("After adding a new element: " + myList);
  }
}

Produzione:

> After conversion from array to list: [1, 2, 3]
> After adding a new element: [1, 2, 3, 4]