StreamUtils 是一个 Java Stream API 增强工具类,主要提供三类线程安全的集合操作方法:1) 支持 null 键的 Map 收集器(使用 LinkedHashMap 保持顺序),解决传统 toMap() 的 NPE 问题;2) 类型安全的列表转换方法,可选择生成可变或不可变列表;3) 列表转集合的自动去重功能。工具类采用静态方法设计,所有方法均可直接调用,特别解决了 Stream API 中常见的空指针和集合转换问题。其中 toMapWithNullKeys() 方法允许 null
package com.olivia.sdk.utils;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collector;
import java.util.stream.Collectors;
/**
* StreamUtils - Java Stream API增强工具类
*
* 该工具类提供了一系列用于简化集合操作的静态方法,主要包括:
* 1. 支持null键的Map收集器
* 2. 列表与集合的类型转换工具
* 3. 不可变集合与可变集合的安全转换
*
* 所有方法均为线程安全的静态方法,可直接通过类名调用。
* 设计目标是解决Java Stream API中常见的空指针问题和不可变集合转换问题。
*/
public class StreamUtils {
/**
* 将列表转换为Map,允许键为null值
*
* 与Coll