Phương thức findAny() của Java Stream trả về Optional chứa một element bất kỳ của stream, hoặc Optional rỗng nếu stream rỗng. Optional là container object có thể chứa hoặc không chứa giá trị non-null.
Ví dụ 1: List Integer
import java.util.*;
public class Demo {
public static void main(String[] args){
List<Integer> list = Arrays.asList(10, 20, 30, 40, 50);
Optional<Integer> res = list.stream().findAny();
if (res.isPresent()) {
System.out.println(res.get());
} else {
System.out.println("None!");
}
}
}
Kết quả
10
Ví dụ 2: List String
import java.util.*;
public class Demo {
public static void main(String[] args) {
List<String> myList = Arrays.asList("Kevin", "Jofra", "Tom", "Chris", "Liam");
Optional<String> res = myList.stream().findAny();
if (res.isPresent()) {
System.out.println(res.get());
} else {
System.out.println("None!");
}
}
}
Kết quả
Kevin
Lưu ý: findAny() trả về element bất kỳ (thường là element đầu tiên trong sequential stream). Đối với parallel stream, nó có thể trả về element bất kỳ để tối ưu hiệu suất. Nếu cần element đầu tiên đảm bảo, dùng findFirst().