(java)java1.8流Stream

流的几个特性

  1. 流并不会改变原始数据。只是数据的视图
  2. 流是懒加载的,所谓懒加载是指流不会立即执行而是在流需要的时候再去加载
  3. 流分为中间操作和终止操作,顾名思义中间操作可以有好多种,而终止操作只有一种
  4. 重要的一点为 流不能存储元素的!

对流的理解:流是为了方便开发人员遍历集合的一种便利的API

创建流

//通过数组的形式获得
String[] arr = new String[] {"aa","bb","cc"};
Stream<String> stream = Arrays.stream(arr);
//通过list获得
List<String> list = Arrays.asList("aa","bb","cc");
Stream<String> listStream = list.stream();
//直接获得
Stream<String> string = Stream.of("aa","bb","cc");

流的中间操作

sorted() 排序
filter() 过滤
map()映射即对当中的每一个元素进行操作并且得到新的元素
limit() 截断获得指定长度的流
skip() 跳过指定长度的流
distinct()去重

流的终止操作

forEach()遍历每个流的元素
collect()把流元素收集起来

如果想要生成一个Set,代码为 stream.collect(Collectors.toSet())
还有更多的 forEach、 forEachOrdered、 toArray、 reduce、 collect、 min、 max、 count、 anyMatch、 allMatch、 noneMatch、 findFirst、 findAny、 iterator

具体实例的文章参考:
https://blog.csdn.net/chenhao_c_h/article/details/80691284

猜你喜欢

转载自blog.csdn.net/weixin_43872339/article/details/87875476