Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Java Stream findAny() Method - หา Element ใด Element หนึ่ง

เมธอด findAny() ของ Java Stream คืนค่า Optional สำหรับ Element บางตัวใน Stream หรือ Optional.empty() หาก Stream ว่าง Optional เป็น Container Object ที่อาจจะมีหรือไม่มี Non-null Value

ตัวอย่างที่ 1: findAny() กับ 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!");
        }
    }
}

ผลลัพธ์

10

ตัวอย่างที่ 2: findAny() กับ 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!");
        }
    }
}

ผลลัพธ์

Kevin

สรุป: findAny() คืน Element ใด Element หนึ่ง (ไม่รับประกันลำดับ) เหมาะกับ Parallel Stream หากต้องการ Element แรกตามลำดับ ใช้ findFirst() แทน