Conversion de la liste en int[] en Java en utilisant Streams
La conversion d'une liste vers un int[] nécessite souvent une boucle, ce qui soulève la question de savoir s'il existe une méthode plus efficace.
Java 8 a introduit les flux, offrant une solution pratique à ce problème.
Avec les flux, le le processus de conversion peut être simplifié en :
int[] example1 = list.stream().mapToInt(i -> i).toArray();
// OR
int[] example2 = list.stream().mapToInt(Integer::intValue).toArray();
Pensée Process
- Les flux ont une méthode toArray() qui renvoie un Object[], pas un int[].
- La conversion d'un entier en int dans le flux nécessite la transformation du Stream< ;Entier> dans IntStream, un flux qui gère les types primitifs.
- La méthode mapToInt() prend une ToIntFunction qui transforme chaque élément d'Integer en int.
- Integer#intValue peut être utilisé pour obtenir directement l'int valeur, ou le déballage peut être utilisé pour la conversion automatique.
- Le type Integer déduit dans le lambda peut être omis, ce qui entraîne :
list.stream().mapToInt(i -> i).toArray();
Ce processus rationalisé élimine le besoin de boucles et améliore l'efficacité de la conversion.
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