Maison > Java > javaDidacticiel > Comment convertir efficacement les itérables Java en flux ?

Comment convertir efficacement les itérables Java en flux ?

Susan Sarandon
Libérer: 2024-11-26 12:45:13
original
437 Les gens l'ont consulté

How to Efficiently Convert Java Iterables to Streams?

Conversion d'itérables en flux dans Java 8

Problème :

Vous disposez d'une interface qui renvoie un itérable , et vous souhaitez utiliser l'API Java 8 Stream pour manipuler les données. Cependant, l'Iterable ne prend pas en charge la méthode stream().

Solution :

Pour convertir un Iterable en Stream sans le convertir en liste, vous pouvez utiliser la méthode StreamSupport.stream(). Cette méthode prend un objet Spliterator, qui peut être obtenu à partir de la méthode spliterator() de Iterable.

Voici un exemple de la façon de convertir un Iterable en Stream :

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

Une fois que vous avez un flux, vous pouvez effectuer les opérations de flux habituelles telles que le filtrage, le mappage et réduisant.

Remarque :

La méthode StreamSupport.stream() fournit un moyen plus efficace de convertir un Iterable en Stream par rapport à l'utilisation directe de la méthode spliteratorUnknownSize() . La méthode spliteratorUnknownSize() crée toujours un nouvel objet Spliterator, ce qui peut être inefficace si Iterable est déjà une collection. La méthode StreamSupport.stream() utilise l'objet Spliterator existant de Iterable, s'il est disponible, ce qui améliore les 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