Tôi đang cố gắng tìm kiếm bộ sưu tập scala cho một mục trong danh sách khớp với một số biến vị ngữ. Tôi không nhất thiết cần giá trị trả lại, chỉ cần kiểm tra nếu danh sách chứa nó.Tìm một mục phù hợp với vị ngữ trong Scala
Trong Java, tôi có thể làm điều gì đó như:
for (Object item : collection) {
if (condition1(item) && condition2(item)) {
return true;
}
}
return false;
Trong Groovy, tôi có thể làm điều gì đó như:
return collection.find { condition1(it) && condition2(it) } != null
cách thành ngữ để làm điều này trong Scala là gì? Tất nhiên tôi có thể chuyển đổi kiểu vòng lặp Java thành Scala, nhưng tôi cảm thấy như có một cách chức năng hơn để làm điều này.
Tôi sẽ không lo lắng quá nhiều về tính tự nhiên hoặc chức năng: các bộ sưu tập trong thư viện Scala có phương thức 'exist' và' find' (sự khác biệt là 'find' trả về phần tử). như phần tử được tìm thấy. Cả hai đều được thực hiện với một vòng lặp 'var' và' while', trông rất giống với việc thực hiện java mà bạn có (ngoại trừ việc dùng biến vị ngữ làm tham số). – herman