gpt4 book ai didi

java - 如何在 Java 8 中获取 findFirst() 的索引?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:38:08 27 4
gpt4 key购买 nike

我有以下代码:

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();

我需要知道第一个返回元素的索引是什么,因为我需要在条目 ArrayList 中编辑它。据我所知,get() 返回元素的值,而不是引用。我应该只使用

int indexOf(Object o)

代替?

最佳答案

您可以使用 IntStream 获取元素的索引,例如:

int index = IntStream.range(0, entries.size())
.filter(i -> "2".equals(entries.get(i)))
.findFirst().orElse(-1);

但是您应该使用 List::indexOf 方法,这是首选方法,因为它更简洁、更具表现力并且计算出相同的结果。

关于java - 如何在 Java 8 中获取 findFirst() 的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44077274/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com