Conversion efficace de int[] en List en Java
Face à la nécessité de convertir un tableau int[] en un List en Java, une approche courante consiste à parcourir chaque élément et à l'attribuer à la liste résultante. Cependant, Java offre des solutions plus efficaces à ce problème, en particulier pour les utilisateurs de Java 8 et versions ultérieures.
Solution Java 8 basée sur les flux
Java 8 a introduit les flux, qui fournissent un mécanisme puissant pour la transformation des données. À l'aide de flux, vous pouvez réaliser la conversion en suivant les étapes suivantes :
-
Créez un flux de votre tableau int : Utilisez la méthode Arrays.stream() ou IntStream.of() pour créer un flux à partir de votre tableau int.
-
Conversion en boîte : Appliquez la méthode IntStream#boxed pour convertir les valeurs int primitives en objets Integer.
-
Collection en liste : Enfin, utilisez la méthode Stream.collect(Collectors.toList()) (ou Stream#toList() en Java 16 ) pour rassembler les éléments en boîte dans un liste.
Exemple :
int[] ints = {1,2,3};
List<Integer> list = Arrays.stream(ints).boxed().collect(Collectors.toList());
Autres solutions
Bien que la solution basée sur le flux soit hautement efficace dans Java 8 et supérieur, il existe des méthodes alternatives pour Java antérieur versions :
-
Java 7 et versions antérieures : Utilisez la méthode Arrays.asList(int...values), en gardant à l'esprit ses limites (elle crée une liste immuable et effectue une boxe en interne).
-
Apache Commons Lang3 : Utilisez la méthode CollectionUtils.toList(), qui gère les tableaux primitifs plus efficacement (mais peut toujours nécessiter une boxe).
En comprenant les différentes méthodes disponibles, vous pouvez choisir la solution la plus appropriée pour votre environnement et vos exigences Java spécifiques.
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!
Déclaration: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