2017-04-25 4 views
1

に一致する要素のインデックス取得: Java 8 find first element by predicate私は述語によって、リストの最初の要素を見つける方法を知っている述語

は、その要素のインデックスを取得する簡単な方法はありますか?

EDIT:リンクされた質問は確かに答えを提供しますが、フレーズがあるために検索すると見つけられませんでした。したがって、私はむしろこの質問を残したいと思います。

答えて

2

私が正しく理解していれば、それはあなたが必要とする古典的なケースですIntStream;それは明らかにリストにのみ適用されます。

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

本当に最初のインデックスだけが必要な場合は、 'collect(...)'の代わりに 'findFirst()'を使います。最初の一致が見つかるまで、フィルタは実行されません。 –

関連する問題