lambda表達(dá)式如何配合流API使用

小樊
82
2024-06-17 22:40:55

在Java中,Lambda表達(dá)式可以與流API(Stream API)一起使用,以實(shí)現(xiàn)更簡(jiǎn)潔和可讀性更好的代碼。Lambda表達(dá)式可以作為流API中的函數(shù)式接口的參數(shù)或返回值,以便在流操作中執(zhí)行相應(yīng)的操作。

以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用Lambda表達(dá)式和流API來(lái)過(guò)濾、映射和收集數(shù)據(jù):

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<String> fruits = Arrays.asList("apple", "banana", "cherry", "date", "elderberry");

        // 使用Lambda表達(dá)式過(guò)濾出長(zhǎng)度大于5的水果
        List<String> filteredFruits = fruits.stream()
                .filter(fruit -> fruit.length() > 5)
                .collect(Collectors.toList());
        System.out.println("Filtered fruits: " + filteredFruits);

        // 使用Lambda表達(dá)式將水果名字都轉(zhuǎn)換為大寫(xiě)
        List<String> upperCaseFruits = fruits.stream()
                .map(String::toUpperCase)
                .collect(Collectors.toList());
        System.out.println("Upper case fruits: " + upperCaseFruits);
    }
}

在上面的示例中,我們首先使用filter方法過(guò)濾出長(zhǎng)度大于5的水果,然后使用map方法將水果名字轉(zhuǎn)換為大寫(xiě)。最后,我們使用collect方法將處理后的結(jié)果收集起來(lái)并輸出。

通過(guò)Lambda表達(dá)式和流API的結(jié)合,我們可以更簡(jiǎn)潔和優(yōu)雅地處理集合數(shù)據(jù),減少樣板代碼的編寫(xiě),提高代碼的可讀性和可維護(hù)性。

0