Introducido en Java 8, Stream API se usa para procesar colecciones de objetos. Una secuencia es una secuencia de objetos que admite varios métodos que se pueden canalizar para producir el resultado deseado.
Las características de Java stream son:
- Una secuencia no es una estructura de datos, sino que recibe información de las colecciones, arrays o canales de E/S.
- Los flujos no cambian la estructura de datos original, solo proporcionan el resultado según los métodos canalizados.
- Cada operación intermedia se ejecuta con pereza y devuelve una secuencia como resultado, por lo tanto, se pueden canalizar varias operaciones intermedias. Las operaciones de terminal marcan el final de la secuencia y devuelven el resultado.
Diferentes operaciones en flujos
: operaciones intermedias:
//a simple program to demonstrate the use of stream in java import java.util.*; import java.util.stream.*; class Demo { public static void main(String args[]) { // create a list of integers List<Integer> number = Arrays.asList(2,3,4,5); // demonstration of map method List<Integer> square = number.stream().map(x -> x*x). collect(Collectors.toList()); System.out.println(square); // create a list of String List<String> names = Arrays.asList("Reflection","Collection","Stream"); // demonstration of filter method List<String> result = names.stream().filter(s->s.startsWith("S")). collect(Collectors.toList()); System.out.println(result); // demonstration of sorted method List<String> show = names.stream().sorted().collect(Collectors.toList()); System.out.println(show); // create a list of integers List<Integer> numbers = Arrays.asList(2,3,4,5,2); // collect method returns a set Set<Integer> squareSet = numbers.stream().map(x->x*x).collect(Collectors.toSet()); System.out.println(squareSet); // demonstration of forEach method number.stream().map(x->x*x).forEach(y->System.out.println(y)); // demonstration of reduce method int even = number.stream().filter(x->x%2==0).reduce(0,(ans,i)-> ans+i); System.out.println(even); } }
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA