网站首页 > 精选教程 正文
一、前言
我们经常会遇到需求,把集合里的某条不符合的给过滤掉,生成一个新的list集合。
需求:把list集合里的结束时间不为空的过滤出来,结束时间不为空的中在过滤结束时间是2021年1月1日之后的。
二、起步思考
开始我是接触过filter,今天的需求过滤两次,开始我是一个条件一个条件的过滤,后来发现可以两个filter一起使用。
三、实体类
import lombok.Data;
@Data
public class TimeData {
private String startData;
private String endData;
}
四、构造集合,开始使用
public static void streamFilter(){
//准备要分组得集合
List<TimeData> list = Arrays.asList(
new TimeData("2020-09-09","2020-10-10"),
new TimeData("2021-08-09","2021-10-10"),
new TimeData("2021-07-09","2021-10-10"),
new TimeData("2021-06-09","2021-10-10"),
new TimeData("2020-02-09","")
);
//第二个过滤条件
String time = "2021-01-01";
System.out.println("--------------------第一种----------------------");
// 第一次过滤
List<TimeData> haveData = list.stream().filter(haveEndData ->
StringUtils.isNotBlank(haveEndData.getEndData())).collect(toList());
// 第二次过滤
List<TimeData> end = haveData.stream().filter(endData ->
endData.getEndData().compareTo(time) > 0).collect(toList());
end.forEach(y -> System.out.println(y));
System.out.println("--------------------第二种----------------------");
List<TimeData> listNew = list.stream().filter(haveEndData -> StringUtils.isNotBlank(haveEndData.getEndData()))
.filter(endData -> endData.getEndData().compareTo(time) > 0).collect(toList());
listNew.forEach(x -> System.out.println(x));
}
五、结果展示
六、总结
总的来说filter还是比较简单的,我们在面对多个过滤条件时,直接一起过滤就可以了。这样显得比较专业哈,对你有用点个赞呗!!!
- 上一篇: python打印字典内容
- 下一篇: java面试题|JVM调优常用JVM参数代码实例简介
猜你喜欢
- 2024-12-07 python打印字典内容
- 2024-12-07 张小飞的Java之路——第三十一章——List
- 2024-12-07 Java批量更新太慢?多线程+List分段完美解决
- 2024-12-07 java Collection集合删除某一元素方法汇总
- 2024-12-07 能懂系列之 List 集合详解
- 2024-12-07 逆变与协变:Java 泛型的“双面间谍”,带你轻松拿捏!
- 2024-12-07 Java 中 List 分片的 5 种方法
- 2024-12-07 Java动态字节技术之Javassist
- 2024-12-07 硬核!最全的延迟任务实现方式汇总!附代码(强烈推荐)
- 2024-12-07 一文掌握在Python列表中添加元素的多种方法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)