Maison > Java > javaDidacticiel > le corps du texte

Comment puis-je convertir un itérable en flux dans Java 8 ?

DDD
Libérer: 2024-11-21 11:10:10
original
543 Les gens l'ont consulté

How Can I Convert an Iterable to a Stream in Java 8?

Conversion d'Iterable en Stream dans le JDK Java 8

Dans Java 8, l'API Stream fournit un moyen puissant et efficace de manipuler les données. Cependant, toutes les collections Java ne peuvent pas être directement converties en flux. L'une de ces collections est Iterable, qui ne dispose pas de la méthode stream().

Pour combler cette lacune, Java 8 propose une solution via la méthode StreamSupport.stream(). Cette méthode prend un objet Spliterator en entrée et génère un flux à partir de celui-ci. Heureusement, Iterable fournit une méthode spliterator() qui renvoie un Spliterator correspondant.

En utilisant ces méthodes, vous pouvez convertir de manière transparente un Iterable en flux sans avoir besoin de conversions intermédiaires en liste. L'extrait de code suivant montre comment y parvenir :

Iterable<T> iterable = getIterable();
Stream<T> stream = StreamSupport.stream(iterable.spliterator(), false);
Copier après la connexion

La variable stream contient désormais un flux qui peut être manipulé à l'aide du riche ensemble d'opérations fourni par l'API Stream. Cette approche offre les avantages de l'API Java 8 Stream tout en exploitant l'Iterable sous-jacent sans les frais liés à la création d'une nouvelle collection.

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