概述
Stream是元素的集合,类似与Iterator,但结合lambda更好用。
例子
一般步骤:集合-〉创建stream-〉处理生产新的Stream(-〉转化为集合)
distinct(),去除重复元素
//collect(Collectors.toList())将stream转回list
List<Integer> list=new ArrayList<>();
for(int i=0;i<10;i++){
list.add(i);
}
list.add(9);
System.out.println(list.stream().distinct().collect(Collectors.toList()));
//输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
filter(),过滤元素,count()计数
<pre name="code" class="java">System.out.println(list.stream().filter(i ->i>5).count());
//输出5
List s= list.stream().filter(i ->i<5).collect(Collectors.toList());
System.out.println(s);
//输出[0, 1, 2, 3, 4]
limit(),skip()截取元素
System.out.println(list.stream().limit(3).collect(Collectors.toList()));
//输出前3个元素[0, 1, 2]
System.out.println(list.stream().skip(3).collect(Collectors.toList()));
//输出去除了前3个元素的剩余元素[3, 4, 5, 6, 7, 8, 9, 9]