Maison > Java > javaDidacticiel > Comment convertir efficacement une liste en int[] en Java à l'aide de Streams ?

Comment convertir efficacement une liste en int[] en Java à l'aide de Streams ?

DDD
Libérer: 2024-12-23 20:20:24
original
807 Les gens l'ont consulté

How to Efficiently Convert a List to an int[] in Java Using Streams?

Conversion efficace de la liste to int[] Utilisation de Java Streams

Problème :

Les développeurs rencontrent des difficultés lorsqu'ils tentent de convertir une liste à int[] en Java. List.toArray() produit un Object[], qui ne peut pas être directement converti en Integer[] ou int[].

Solution initiale :

Une solution couramment utilisée implique de parcourir la liste à l'aide d'une boucle pour attribuer manuellement chaque élément à l'index correspondant dans le tableau int[].

Java 8 Stream Améliorations :

Cependant, Java 8 a introduit des améliorations de flux qui offrent une approche plus concise et efficace. En utilisant IntStreams, spécialement conçus pour gérer les types int primitifs, nous pouvons rationaliser le processus de conversion :

Solution avec mapToInt() et Lambda :

int[] example1 = list.stream().mapToInt(i -> i).toArray();
Copier après la connexion

Le mapToInt () transforme chaque élément de Stream en int, permettant la conversion en IntStream. L'expression lambda (i -> i) déballe simplement l'entier.

Solution avec mapToInt() et référence de méthode :

Alternativement, nous pouvons utiliser une référence de méthode :

int[] example2 = list.stream().mapToInt(Integer::intValue).toArray();
Copier après la connexion

Pensée Processus :

Stream#toArray() renvoie un Object[] par défaut, nous exploitons donc mapToInt() pour convertir les éléments Integer en int. IntStreams fournit des méthodes natives toArray() qui produisent des tableaux int[].

En utilisant IntStreams, nous évitons le besoin d'un déballage supplémentaire ou d'une conversion explicite en Integer[] avant de convertir en int[]. Cette optimisation rationalise le processus de conversion, améliorant à la fois la brièveté et l'efficacité du code.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal