Stream:和io没有任何关系
流式思想:像生产流水线一样,一个操作接一个操作。
使用流操作集合更高效
Stream 流只能被使用一次,如果还想用,必须重新获取流。
如果不被重新获取,会得到异常:练习代码如下:
java.lang.IllegalStateException: stream has already been operated upon or closed
public static void test(){
List<String> liststr =new ArrayList<>();
liststr.add("hell");
liststr.add("admin");
Integer[] num= {1,2,21,3};
Stream<String> streamStr =liststr.stream();
Stream<Integer> streamInt = Stream.of(num);
streamInt.forEach(e->System.out.println(e));
/*
* 如果不被重新获取,会得到异常:
java.lang.IllegalStateException: stream
has already been operated upon or closed
*/
streamInt.forEach(e->System.out.println(e));
}
1.filter 方法用于通过设置的条件过滤出元素
2.map 方法用于映射每个元素到对应的结果
3.limit 方法用于获取指定数量的流
4.跳过前n个stream.skip
5.流的连接Stream.concat(stream1,stream2)
6.回数量count
7.可以把流转换为 List 类型:collect(Collectors.toList());
8.求和的方法reduce(0, (x, y) -> x + y)
9.去重distinct()
10.排序:sorted()
public static voi