Java8新特性中的list集合的stream.filter方法使用方式(个人理解)

本章只谈个人的简陋理解,如有差错,评论区不吝赐教,谢谢!
在Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。
Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。
其中关于filter方法:
filter 方法用于通过设置的条件过滤出元素。
举个栗子:
1.以下代码片段使用 filter 方法过滤出空字符串

List<String>strings = Arrays.asList("我", "", "爱吃", "", "小咯龙虾","", "拌饭");
// 获取空字符串的数量
long count = strings.stream().filter(string -> string.isEmpty()).count();

List studentList = new ArrayList<>(); student.add(new
Student(“黄大”,true,18,1.76);
student.add(new
Student(“王二”,false,18,1.61);
student.add(new
Student(“张三”,true,19,1.82);
student.add(new
Student(“李四”,false,17,1.67);

输出如下

姓名 性别 年龄 身高
黄大 true 18 1.76
王二 false 18 1.61
张三 true 19 1.82
李四 false 17 1.67
 //查找身高在1.8米及以下的男生
List<Student> boys = student.stream().filter(s->s.getGender() && s.getHeight() >= 1.8).collect(Collectors.toList());
//输出查找结果
StudentInfo.printStudents(boys);

输出结果

姓名 性别 年龄 身高
黄大 true 18 1.76

细品栗子会发现还是比较好理解的
栗子中的“s”可以理解为这个方法中可理解为对象(可以自定义名字),
“s->”是一种写法,后面的“s.getGender() && s.getHeight() >= 1.8”,是过滤条件。“collect(Collectors.toList())”,可理解为遍历这个集合对象,从中找到符合条件的数据。

本文只为技术交流不做商用,如有重复请见谅私信!!!!!!!!!!

你可能感兴趣的:(java)