小编drd*_*z13的帖子

Java Streams用于在同一列表上循环两次

我是java 8的新手,出于某种原因我对了解流有问题.假设我们有一个对象列表List <MyObject>,其中MyObject有2个字段:Long Id,Date insertTime,我想删除具有相同ID和更早时间的元素.

有2个for循环,它是这样的:

for(MyObject object : myObjects) {
   for(MyObject tmpObject : myObjects) {
      if(object.getId() == tmpObject.getId()) {
         if(object.getInsertDate().after(tmpObject.getInsertDate())) 
           myObjects.remove(tmpObject);
         else 
           myObjects.remove(object);
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

使用流时看起来如何?

@Michael我的坏.比我需要另一个列表或数组来存储响应数据.

让我说我有

  1. 1234:25/5/1991
  2. 1235:25/5/1995
  3. 1234:25/5/1999

所以我需要的结果

  1. 1235:25/5/1995
  2. 1234:25/5/1999

谢谢你们.

java loops nested java-8 java-stream

2
推荐指数
1
解决办法
976
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1

loops ×1

nested ×1