私はJava 8ラムダで遊んだばかりで、関数型言語で慣れ親しんでいることのいくつかを実装しようとしています。
たとえば、ほとんどの関数型言語には、シーケンス、または述語がである最初の要素を返すリストを操作する何らかの検索関数がありtrue
ます。Java 8でこれを達成するために私が見ることができる唯一の方法は、次のとおりです。
lst.stream()
.filter(x -> x > 5)
.findFirst()
ただし、フィルターはリスト全体をスキャンするため、これは私には非効率的です。少なくとも私の理解では(これは間違っている可能性があります)。もっと良い方法はありますか?