Filtrado de Resultados - Tensho97/Aprende-a-Aprender GitHub Wiki
Iniciamos con la selección de los datos. Para filtrar los elementos de un Stream podemos usar los siguientes métodos:
+filter(Predicate):Stream
Retorna un Stream que contiene sólo los elementos que cumplen con el predicado pasado por parámetro.
List<String> ciudades = ...
//Stream de ciudades cuya primera letra es C de Cali
Stream stream = ciudades
.stream()
.filter(s -> s.charAt(0) == 'C');
+distinct():Stream
Retorna un Stream sin elementos duplicados. Depende de la implementación de +equals(Object):boolean.
List<String> ciudades = Arrays.asList("Cali", "Bogotá", "Medellín", "Cali");
//Stream sin ciudades repetidas: Cali, Bogotá, Medellín
Stream stream = ciudades
.stream()
.distinct();
+limit(long):Stream
Retorna un Stream cuyo tamaño no es mayor al número pasado por parámetro. Los elementos son cortados hasta ese tamaño.
List<String> ciudades = Arrays.asList("Cali", "Bogotá", "Medellín");
//Stream limitado a los dos primeros elementos: Cali, Bogotá
Stream stream = ciudades
.stream()
.limit(2);
+skip(long):Stream
Retorna un Stream que descarta los primeros N elementos, donde N es el número pasado por parámetro. Si el Stream contiene menos elementos que N, entonces retorna un Stream vacío.
List<String> ciudades = Arrays.asList("Cali", "Bogotá", "Medellín");
//Stream que ha saltado los dos primeros elementos, quedando solo: Medellín
Stream stream = ciudades
.stream()
.skip(2);
El siguiente paso es el mapeo de datos.
Autor: Richard