java - 如何在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]
不知道如何开始所以没有尝试任何代码
解决方案
您可以使用 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:我没有提供确切的代码,目的是用户应该得到提示自己解决问题。
推荐阅读
- python - Python将对象转换为数据框中的时间
- jquery-select2 - 更改 select2 标记结果的位置
- javascript - Animate reused svg independently
- python - 使用 Tensorflow 向量化嵌套的 for 循环
- java - RecyclerView 第一项总是被选中
- node.js - Axios 回调函数在 put 方法中不起作用
- excel - Excel VBA:获取运行时 1004:对象 _Worksheet' 的方法范围失败
- docker - 在 Docker Compose 文件中指定网络接口
- javascript - express.js 的路由器对象如何解析为只接受回调的 app.use()?
- clang - RecursiveASTVisitor 不访问 clang::VarDecl