Maison >Java >javaDidacticiel >Comment puis-je convertir un itérable en flux Java 8 sans utiliser de liste ?
Problème :
Comment puis-je manipuler un itérable à l'aide de Java 8 API Stream sans la convertir en liste ?
Solution :
tl;dr : Utilisez StreamSupport.stream(iterable.spliterator(), false) pour créer un flux à partir de l'itérable.
Explication détaillée :
Iterable fournit une méthode spliterator() qui renvoie un Spliterator, qui peut être utilisé pour créer un diffuser en utilisant StreamSupport.stream. Voici l'extrait de code :
StreamSupport.stream(iterable.spliterator(), false) .filter(...) .moreStreamOps(...);
Cette approche évite les conversions inutiles en liste, ce qui peut améliorer les performances et la consommation de mémoire. StreamSupport.stream prend deux arguments :
Le flux résultant peut ensuite être manipulé à l'aide d'opérations de l'API Stream telles que le filtre, la carte, etc.
Avantages :
L'utilisation de StreamSupport.stream offre les avantages suivants :
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!