HOWTO · Java
Comment convertir une liste d'entiers en tableau Int en Java
Cet article explique comment convertir une liste d'objets entiers en un tableau d'int primitifs avec la meilleure méthode disponible en Java
Sur cette page
Dans ce tutoriel, nous allons présenter comment nous pouvons convertir une List<Integer> en int[] en Java. Nous pouvons voir que les deux sont de types de données différents, c’est-à-dire ArrayList of Integers et array of int. Le premier contient un type de données objet, c’est-à-dire Integer, et le second est un type de données primitives, c’est-à-dire int.
Stream().mapToInt() pour convertir la liste d’entiers en tableau d’int en Java
Stream est introduit en Java 8 avec le paquet java.util.stream. Il peut nous aider à obtenir les résultats souhaités car il comprend une méthode mapToInt() qui retourne un IntStream (une séquence de valeurs int primitives).
Pour que les choses soient plus claires, voyons cela dans l’exemple ci-dessous.
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numList = new ArrayList<Integer>();
numList.add(11);
numList.add(22);
numList.add(33);
numList.add(44);
numList.add(55);
int[] numArray = numList.stream().mapToInt(i -> i).toArray();
for (int intValue : numArray) {
System.out.println(intValue);
}
}
}
Production:
int primitive: 11
int primitive: 22
int primitive: 33
int primitive: 44
int primitive: 55
Nous pouvons vérifier le type de données de numArray en déboguant. La sortie de débogage ci-dessous montre que numList est une ArrayList, alors que numArray est une int primitive.
numList = {ArrayList @832} size = 5 numArray = {int[5] @833} intValue = 11
ArrayUtils.toPrimitive() pour convertir une liste d’entiers en tableau d’int. en Java
Nous avons une autre façon de faire passer une List<Integer>. Nous utiliserons Apache Common Lang, qui est un ensemble de méthodes d’aide.
ArrayUtils.toPrimitive() nous permet de passer dans notre numList qui nous donne le résultat en int[] type de données.
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
public class Main {
public static void main(String[] args) {
List<Integer> numList = new ArrayList<Integer>();
numList.add(110);
numList.add(220);
numList.add(330);
numList.add(440);
numList.add(550);
int[] intArray = ArrayUtils.toPrimitive(numList.toArray(new Integer[numList.size()]));
for (int intValue : intArray) {
System.out.println("int primitive: " + intValue);
}
}
}
Production:
int primitive: 110
int primitive: 220
int primitive: 330
int primitive: 440
int primitive: 550
Méthode de Guava pour convertir une liste d’entiers en tableau d’entiers en Java
Guava est une bibliothèque qui peut nous aider à convertir notre liste d’entiers en valeurs primitives d’int.
Ints.toArray(ListOfIntegers) est une partie du paquet com.google.common.primitives.Ints qui prend notre liste en argument et nous fournit le tableau d’ints.
import com.google.common.primitives.Ints;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numList = new ArrayList<Integer>();
numList.add(110);
numList.add(220);
numList.add(330);
numList.add(440);
numList.add(550);
int[] numArray = Ints.toArray(numList);
for (int intValue : numArray) {
System.out.println("int primitive: " + intValue);
}
}
}
Production:
int primitive: 110
int primitive: 220
int primitive: 330
int primitive: 440
int primitive: 550