package com.ruoyi.common.utils; import cn.hutool.core.collection.CollStreamUtil; import cn.hutool.core.collection.CollUtil; import java.util.*; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; public class StreamUtils extends CollStreamUtil { public static List filter(Collection collection, Predicate function) { if (CollUtil.isEmpty(collection)) { return Collections.emptyList(); } return collection.stream().filter(function).collect(Collectors.toList()); } public static String join(Collection collection, Function function) { return join(collection, function, ","); } public static String join(Collection collection, Function function, CharSequence delimiter) { if (CollUtil.isEmpty(collection)) { return StringUtils.EMPTY; } return collection.stream().map(function).filter(Objects::nonNull).collect(Collectors.joining(delimiter)); } public static List sorted(Collection collection, Comparator comparing) { return collection.stream().sorted(comparing).collect(Collectors.toList()); } }