我有以下代码:
I have the following code:
ArrayList <String> entries = new ArrayList <String>();
entries.add("0");
entries.add("1");
entries.add("2");
entries.add("3");
String firstNotHiddenItem = entries.stream()
.filter(e -> e.equals("2"))
.findFirst()
.get();
我需要知道第一个返回元素的索引,因为我需要在entries ArrayList
中编辑它。据我所知,get()
返回元素的值而不是引用。我该使用什么方法?
int indexOf(Object o)
改为什么?
List.indexOf
和使用filter
和findFirst
的流之间的主要区别在于,indexOf
使用列表元素类的equals
方法,而流方法允许您基于与元素“相等性”无关的可能复杂的谓词进行搜索。 - fps