JDK8如何使用Stream流中filter方法过滤list数据呢?

戚薇 Java经验 发布时间:2023-06-01 11:28:31 阅读数:11747 1
下文笔者讲述使用stream中filter方法过滤list数据的示例分享

filter方法的功能

filter方法的功能:
      用于过滤list中每一个元素
 
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));
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202306/16855901396677.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者