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();
2.
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);
输出如下
姓名性别年龄⾝⾼
黄⼤true18 1.76
王⼆false18 1.61
张三true19 1.82
java stream李四false17 1.67
//查⾝⾼在1.8⽶及以下的男⽣
List<Student> boys = student.stream().filter(s-&Gender()&& s.getHeight()>=1.8).List());
//输出查结果
StudentInfo.printStudents(boys);
输出结果
姓名性别年龄⾝⾼
黄⼤true18 1.76
细品栗⼦会发现还是⽐较好理解的
栗⼦中的“s”可以理解为这个⽅法中可理解为对象(可以⾃定义名字),
“s->”是⼀种写法,后⾯的“s.getGender() && s.getHeight() >= 1.8”,是过滤条件。“List())”,可理解为遍历这个集合对象,从中到符合条件的数据。
本⽂只为技术交流不做商⽤,如有重复请见谅私信
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论