Dado un iterador, la tarea es convertirlo en Stream en Java.
Ejemplos:
Input: Iterator = {1, 2, 3, 4, 5} Output: {1, 2, 3, 4, 5} Input: Iterator = {'G', 'e', 'e', 'k', 's'} Output: {'G', 'e', 'e', 'k', 's'}
Acercarse:
- Obtenga el iterador.
- Convierta el iterador en Spliterator utilizando el método Spliterators.spliteratorUnknownSize().
- Convierta el Spliterator formado en Sequential Stream utilizando el método StreamSupport.stream().
- Devuelve la corriente.
A continuación se muestra la implementación del enfoque anterior:
// Java program to get a Stream // from a given Iterator import java.util.*; import java.util.stream.*; class GFG { // Function to get the Stream public static <T> Stream<T> getStreamFromIterator(Iterator<T> iterator) { // Convert the iterator to Spliterator Spliterator<T> spliterator = Spliterators .spliteratorUnknownSize(iterator, 0); // Get a Sequential Stream from spliterator return StreamSupport.stream(spliterator, false); } // Driver code public static void main(String[] args) { // Get the Iterator Iterator<Integer> iterator = Arrays.asList(1, 2, 3, 4, 5) .iterator(); // Get the Stream from the Iterator Stream<Integer> stream = getStreamFromIterator(iterator); // Print the elements of stream stream.forEach(s -> System.out.println(s)); } }
Producción:
1 2 3 4 5
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA