Java 11 - 增强的 Stream API

package com.lfsun.java11study.stream;

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

public class StreamAPIImprovementsExample {
    
    

    public static void main(String[] args) {
    
    
        List<String> names = List.of("Alice", "Bob", "Charlie", "David", "Ella", "Frank");

        // 使用dropWhile方法去掉开头满足条件的元素
        List<String> namesAfterDropWhile = names.stream()
                .dropWhile(name -> name.length() < 5)
                .collect(Collectors.toList());
        System.out.println("After dropWhile: " + namesAfterDropWhile);

        // 使用takeWhile方法获取开头满足条件的元素,直到遇到不满足条件的元素
        List<String> namesAfterTakeWhile = names.stream()
                .takeWhile(name -> name.length() < 6)
                .collect(Collectors.toList());
        System.out.println("After takeWhile: " + namesAfterTakeWhile);

        // 使用新的Stream.ofNullable方法创建一个流,避免空值情况
        String nullableName = "John";
        Stream.ofNullable(nullableName)
                .forEach(name -> System.out.println("Nullable Name: " + name));
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43116031/article/details/131755238