首页 > 解决方案 > 如何在java中过滤列表中的值

问题描述

我们在 ArrayList 中有 bean 值。我们如何过滤下面是 ArrayList 包含的示例。

   List =  [number ABCEFG , EndDATE  2020-03-01],[number ABCEFG , EndDATE 2020-04-01],[number KLMNOP , EndDATE 2020-04-01]

使用java 1.5到1.8从arraylist过滤获取数字(ABCEFG)的最新结束的条件

过滤完成后输出应该是

 List =[number ABCEFG ,EndDATE 2020-04-01],[number KLMNOP ,EndDATE 2020-04-01]

不知道如何开始所以没有尝试任何代码

标签: javaarraylist

解决方案


您可以使用 java 1.8 流式 API。在流式 API 中,您可以使用过滤器,在其中您可以在 enddate 上编写自己的条件逻辑并收集要返回的集合。

List<Object> collect = list.stream()
                .filter(x -> x.getEndDate() /*add your condition here*/)
                .collect(Collectors.toList());

如果要根据结束日期对列表进行排序,可以使用 sort

   stream().sorted(Comparator.comparingDate(Object::getEndDate))

PS:我没有提供确切的代码,目的是用户应该得到提示自己解决问题。


推荐阅读