Saya baru saja mulai bermain dengan lambda Java 8 dan saya mencoba menerapkan beberapa hal yang biasa saya gunakan dalam bahasa fungsional.
Misalnya, sebagian besar bahasa fungsional memiliki semacam fungsi mencari yang beroperasi pada urutan, atau daftar yang mengembalikan elemen pertama, yang menjadi predikatnya true
. Satu-satunya cara saya bisa melihat untuk mencapai ini di Java 8 adalah:
lst.stream()
.filter(x -> x > 5)
.findFirst()
Namun ini tampaknya tidak efisien bagi saya, karena filter akan memindai seluruh daftar, setidaknya untuk pemahaman saya (yang mungkin salah). Apakah ada cara yang lebih baik?