我想从某个过滤器的列表中删除对象,并且存在多个对象。获取lambda foreach表达式中的索引java 8
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如果您需要合并,然后再从列表中删除,请在您的问题中指定,以便答案可以对您有所帮助。请同时告诉我们这个合并是什么,等等。 –