2017-04-25 54 views
1

我知道如何通過謂詞找到一個列表的第一個元素相匹配的元素的索引: Java 8 find first element by predicate獲取一個謂語

有一種簡單的方式來獲得該元素的索引?

編輯:鏈接的問題確實提供了答案,但我找不到它時,因爲它的措辭的方式搜索。所以我寧願保留這個問題。

回答

2

如果我理解正確,那是您需要的經典案例IntStream;但那隻會顯然適用於List。

IntStream.range(0, yourList.size()) 
    .filter(i -> yourList.get(i)... your filter condition) 
    .collect(Collectors.toList()); 
+0

如果你真的只想要第一個索引,使用'的FindFirst()'代替'收集(...)'。這隻會執行過濾器,直到找到第一個匹配項。 –