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

本文深入探讨了Java8中引入的Stream API,通过实例展示了如何使用filter方法进行数据过滤,包括筛选空字符串和查找特定条件的学生信息。文章旨在帮助读者理解和掌握Stream API的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本章只谈个人的简陋理解,如有差错,评论区不吝赐教,谢谢!
在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);

输出如下

姓名性别年龄身高
黄大true181.76
王二false181.61
张三true191.82
李四false171.67
 //查找身高在1.8米及以下的男生
List<Student> boys = student.stream().filter(s->s.getGender() && s.getHeight() >= 1.8).collect(Collectors.toList());
//输出查找结果
StudentInfo.printStudents(boys);

输出结果

姓名性别年龄身高
黄大true181.76

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

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值