Tôi mới bắt đầu chơi với Java 8 lambdas và tôi đang cố gắng thực hiện một số điều mà tôi đã quen với các ngôn ngữ chức năng.
Ví dụ, hầu hết các ngôn ngữ chức năng có một số loại chức năng tìm kiếm hoạt động theo trình tự hoặc danh sách trả về phần tử đầu tiên, trong đó vị ngữ là true
. Cách duy nhất tôi có thể thấy để đạt được điều này trong Java 8 là:
lst.stream()
.filter(x -> x > 5)
.findFirst()
Tuy nhiên điều này có vẻ không hiệu quả đối với tôi, vì bộ lọc sẽ quét toàn bộ danh sách, ít nhất là theo sự hiểu biết của tôi (có thể sai). Có cách nào tốt hơn?