Stream的功能比较强大,除了创建、操作的方法和种类比较多,还有一个重要的内容就是终止操作。这里我们挑选出比较贴合实际的一些操作,如计算个数、最大最小值、收集的终止操作。下面我们会结合Stream对这些终止操作进行实现,一起来看看该如何用代码操作吧。
1.计算元素个数
long count()
示例
List<Integer> demo = Arrays.asList(1, 2, 3, 4, 5, 6); System.out.println(demo.stream().count()); -------result-------- 6
2.最大最小值
//获取最小值 Optional<T> min(Comparator<? super T> comparator) //获取最大值 Optional<T> max(Comparator<? super T> comparator)
示例
List<Integer> demo = Arrays.asList(1, 2, 3); Optional<Integer> min = demo.stream().min(Comparator.comparing(item->item)); Optional<Integer> max = demo.stream().max(Comparator.comparing(item->item)); System.out.println(min.get()+"-"+max.get()); -------result-------- 1-3
3.收集
public void test3(){ List<Student> studentList = StudentData.getStudents(); //返回一个list List<Student> listStream = studentList.stream() .filter(e -> e.getAge() > 18) .collect(Collectors.toList()); //返回一个Set Set<Student> setStream = studentList.stream() .filter(e -> e.getAge() > 18) .collect(Collectors.toSet()); //返回其他的类型 }
以上就是Stream在java里的终止操作,相信大家学会后就可以用代码去解决类似的问题了。更多的Stream终止操作及其使用,大家可以去之前文章中查看,或者翻阅其他的资料。