Java - Comment convertir un tableau primitif en liste
Extraits de code pour convertir un tableau primitifint[]
en unList<Integer>
:
int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Listlist = new ArrayList<>(); for (int i : number) { list.add(i); }
Dans Java 8, vous pouvez utiliser les API Stream pour effectuer la boxe et la conversion comme ceci:
Listlist = Arrays.stream(number).boxed().collect(Collectors.toList());
1. Exemple classique
Exemple complet pour convertir un tableau primitif en liste.
ArrayExample1.java
package com.example.array; import java.util.ArrayList; import java.util.List; public class ArrayExample1 { public static void main(String[] args) { int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Listlist = convertIntArrayToList(number); System.out.println("list : " + list); } private static List convertIntArrayToList(int[] input) { List list = new ArrayList<>(); for (int i : input) { list.add(i); } return list; } }
Sortie
list : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Note
Vous ne pouvez pas utiliser le populaireArrays.asList
pour le convertir directement, car problème de boxe.
int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // No, the return type is not what we want Listints = Arrays.asList(number);
2. Flux Java 8
Exemple de flux Java 8 complet pour convertir un tableau primitif en liste.
ArrayExample2.java
package com.example.array; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; public class ArrayExample2 { public static void main(String[] args) { int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // IntStream.of or Arrays.stream, same output //Listlist = IntStream.of(number).boxed().collect(Collectors.toList()); List list = Arrays.stream(number).boxed().collect(Collectors.toList()); System.out.println("list : " + list); } }
Sortie
list : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]