Las fracciones de operación intermedia sin operación de terminación intermedia Para cerrar el suministro de la operación no se realiza
Collectors.joining ( "/")
flatMap () elaborar todos los flujos de una corriente marcada
corriente <Lista> = corriente Stream.of ( Arrays.asList ( . 1), Arrays.asList (2,3), Arrays.asList (4,5,6));
. stream.flatMap (lista-> list.stream ()) mapa (Item-> artículo * Elemento) .forEach ( system.out :: println);
el conjunto de datos de interés se almacena con los datos en sí,
la corriente de calcular los datos de
corriente no puede ser reutilizado
Las operaciones intermedias vuelven objeto de flujo de
la operación de terminación no valor de retorno, el valor de retorno no puede, devuelve un solo valor puede ser también otros tipos de
Si hay corriente de funcionamiento de cortocircuito no encontrar los datos en línea con otros datos para determinar
el flujo es equivalente a un contenedor de todas las operaciones en ellos, y luego los datos uno por uno en la operación, pero sólo después de que se haya completado toda la primera operación de datos, datos adicionales con el fin de para operar
@Test
public void test1(){
List<String> list = Arrays.asList("hello","world","hello world");
list.stream().mapToInt(item->{
int length =item.length();
System.out.println(item);
return length;
}).filter(item->item==5).findFirst().ifPresent(System.out::println);
List<String> list1 = Arrays.asList("hello world","hello welcome","welcome world");
List<String> list2 = list1.stream().map(item->item.split(" ")).flatMap(Arrays::stream).distinct().collect(Collectors.toList());
list2.forEach(System.out::println);
}
Imprimir los datos de
hello//找到符合条件的hello 就不会去找后面的数据
5
---------------------
hello
world
welcome