From 6cc24dc763c4da6d4105a79b9cf534f23f4af19b Mon Sep 17 00:00:00 2001
From: DoubleH <1402818247@qq.com>
Date: 星期六, 06 七月 2024 13:58:26 +0800
Subject: [PATCH] !561 使用封装好的StreamUtils工具类代替项目中的部分stream操作 * refactor : 使用封装好的StreamUtils工具类代替项目中的部分stream操作

---
 ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java
index 967612e..1342deb 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java
@@ -7,6 +7,7 @@
 
 import java.util.*;
 import java.util.function.BiFunction;
+import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
@@ -35,6 +36,34 @@
     }
 
     /**
+     * 鎵惧埌娴佷腑婊¤冻鏉′欢鐨勭涓�涓厓绱�
+     *
+     * @param collection 闇�瑕佹煡璇㈢殑闆嗗悎
+     * @param function   杩囨护鏂规硶
+     * @return 鎵惧埌绗﹀悎鏉′欢鐨勭涓�涓厓绱狅紝娌℃湁鍒欒繑鍥瀗ull
+     */
+    public static <E> E findFirst(Collection<E> collection, Predicate<E> function) {
+        if (CollUtil.isEmpty(collection)) {
+            return null;
+        }
+        return collection.stream().filter(function).findFirst().orElse(null);
+    }
+
+    /**
+     * 鎵惧埌娴佷腑浠绘剰涓�涓弧瓒虫潯浠剁殑鍏冪礌
+     *
+     * @param collection 闇�瑕佹煡璇㈢殑闆嗗悎
+     * @param function   杩囨护鏂规硶
+     * @return 鎵惧埌绗﹀悎鏉′欢鐨勪换鎰忎竴涓厓绱狅紝娌℃湁鍒欒繑鍥瀗ull
+     */
+    public static <E> Optional<E> findAny(Collection<E> collection, Predicate<E> function) {
+        if (CollUtil.isEmpty(collection)) {
+            return Optional.empty();
+        }
+        return collection.stream().filter(function).findAny();
+    }
+
+    /**
      * 灏哻ollection鎷兼帴
      *
      * @param collection 闇�瑕佽浆鍖栫殑闆嗗悎

--
Gitblit v1.9.3