【发布时间】:2017-07-18 16:29:47
【问题描述】:
我想从某个过滤器的列表中删除对象,并且有多个对象。
list.stream().filter(g->g.getName().equalsIgnoreCase("String")).forEach(result ->{
/* is it possible to get the index of the result here?
.remove(), will iterate through the list again. I don't want that.
*/
list.remove(result);
});
【问题讨论】:
-
这不是一个真正可行的方法。更好的方法是将您不想过滤掉的元素收集到一个新列表中。
-
是的,有道理。谢谢。但我需要将结果合并到一个对象中,然后删除以前的对象。我怎样才能做到这一点?这是我的终极目标
-
@AnkurSehdev 如果您在从列表中删除之前需要合并,请在您的问题中指定,以便答案对您有所帮助。还请告诉我们这次合并的全部内容等。
-
@ Federico Peralta Schaffner 当然,这是我的第一个问题。下次我会尽量提供每一个细节。谢谢
标签: java arraylist lambda foreach java-8