Maison > Java > javaDidacticiel > Comment convertir un ArrayList d'entiers en un tableau int primitif en Java ?

Comment convertir un ArrayList d'entiers en un tableau int primitif en Java ?

Patricia Arquette
Libérer: 2024-12-17 07:56:25
original
962 Les gens l'ont consulté

How to Convert an ArrayList of Integers to a Primitive int Array in Java?

Conversion d'un ArrayList d'entiers en tableau int primitif

En Java, il est possible de convertir un ArrayList contenant des objets Integer en un tableau int[] primitif. Cependant, tenter de convertir directement l'ArrayList en un int[], comme indiqué ci-dessous, entraînera une erreur de compilation :

List<Integer> x = new ArrayList<Integer>();
int[] n = (int[])x.toArray(int[x.size()]);
Copier après la connexion

Pour réussir à convertir l'ArrayList en un tableau primitif, il existe plusieurs façons pour l'approcher :

Utiliser toArray avec Primitive Array

Une méthode consiste à invoquer la méthode toArray du ArrayList avec un tableau du type primitif souhaité comme argument. Par exemple :

List<Integer> x = new ArrayList<Integer>();
int[] n = new int[x.size()];
x.toArray(n);
Copier après la connexion

Cette approche consiste à créer un nouveau tableau primitif de la taille appropriée et à le transmettre à toArray pour remplir le tableau avec les valeurs entières.

Utiliser Java 8 Streams

Si vous utilisez Java 8 ou version ultérieure, il est possible de convertir ArrayList en un tableau primitif en utilisant la méthode stream() avec mapToInt :

List<Integer> x = new ArrayList<Integer>();
int[] n = x.stream().mapToInt(Integer::intValue).toArray();
Copier après la connexion

Cette approche utilise des flux pour parcourir ArrayList, mapper chaque objet Integer à sa valeur int primitive et collecter les résultats dans un tableau à l'aide de toArray.

Autres considérations

Lors de la conversion d'une ArrayList contenant des objets Integer en un tableau primitif, il est important de considérer :

  • Valeurs nulles : Si ArrayList contient des valeurs nulles, elles seront omises du tableau converti.
  • Taille : Le tableau converti aura la même taille que le ArrayList.
  • Boxing/Unboxing : Lors de la conversion entre les types primitifs et objets, des opérations de boxing et de unboxing sont nécessaires. Cela peut entraîner une certaine surcharge de performances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal