Maison  >  Article  >  Java  >  Comment convertir un itérateur en flux de manière concise en Java ?

Comment convertir un itérateur en flux de manière concise en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-06 15:29:021010parcourir

How to Convert an Iterator to a Stream Concisely in Java?

Conversion d'un itérateur en flux : une approche concise

Il devient souvent nécessaire de convertir un itérateur en flux pour tirer parti du puissant flux capacités de traitement en Java. Voici une manière concise d'y parvenir :

Utilisation d'un Spliterator :

<code class="java">Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator();
Stream<String> targetStream = StreamSupport.stream(
          Spliterators.spliteratorUnknownSize(sourceIterator, Spliterator.ORDERED),
          false);</code>

Cette approche vous permet de créer un flux efficacement sans créer de collection intermédiaire.

Alternativement, vous pouvez utiliser un Iterable pour créer un flux :

<code class="java">Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator();

Iterable<String> iterable = () -> sourceIterator;
Stream<String> targetStream = StreamSupport.stream(iterable.spliterator(), false);</code>

Cette méthode est plus facile à lire et conserve le style de programmation fonctionnelle.

En utilisant ces techniques, vous pouvez convertir efficacement un Iterator en un Stream, vous permettant d'exploiter toute la puissance des flux pour le traitement et la manipulation des données.

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