나는 다음과 같은 코드가 있습니다 :자바로 findFirst()의 인덱스를 얻는 방법 8
내가 ArrayList와 항목의 내부를 편집해야하기 때문에 첫 번째 반환 요소의 인덱스가 무엇인지 알 필요가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();
. 내가 아는 한 get()
은 참조가 아닌 요소의 값을 반환합니다. 방금 사용해야합니까
int indexOf(Object o)
대신에 사용해야합니까?
int index = IntStream.range(0, entries.size())
.filter(i -> "2".equals(entries.get(i)))
.findFirst().orElse(-1);
을하지만 더 표현,보다 간결이고 동일한 결과를 계산하기 때문에 당신이 선호하는 방법입니다 List::indexOf
방법을 사용한다 :
완벽한 답변! 간단하고 우아하고 정확히 내가 뭘 찾고 있었습니까! 감사! – Andrei