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

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

DDD
DDDoriginal
2024-11-21 11:10:10544parcourir

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);

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!

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