From c85e53ac1df35c4df9aa7afd1fdce43647eb1eb8 Mon Sep 17 00:00:00 2001 From: liuhanqing Date: Thu, 2 Apr 2026 09:13:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E5=9C=BA=E8=B0=83=E5=BA=A6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/schedule/util/CheckWeight.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/util/CheckWeight.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/util/CheckWeight.java index 1b880e1..6cc811f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/util/CheckWeight.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/util/CheckWeight.java @@ -1,5 +1,6 @@ package com.ruoyi.schedule.util; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import java.io.InputStream; @@ -37,7 +38,39 @@ public class CheckWeight { } return zhi; } +/** + * 用 Hutool 找出数组中出现次数最多的字符串 + * @param strArray 目标字符串数组 + * @return 出现次数最多的字符串(空数组返回 null,多最大值返回第一个) + */ + /** + * 兼容所有 Hutool 版本:找出数组中出现次数最多的字符串 + * @param strArray 目标字符串数组 + * @return 出现次数最多的字符串(空数组返回 null,多最大值返回第一个) + */ + public static String getMostFrequentByHutool(String[] strArray) { + // 1. 空值校验 + 数组转 List + if (strArray == null || strArray.length == 0) { + return null; + } + List strList = CollUtil.newArrayList(strArray); + // 2. 用 Hutool 统计频次(所有版本都支持) + Map countMap = CollUtil.countMap(strList); + + // 3. 手动遍历找最大值(替代不存在的 getMaxKey 方法) + String mostFrequent = null; + int maxCount = 0; + // 遍历 Map 条目,Hutool 5.x 及以上都支持 entrySet 遍历 + for (Map.Entry entry : countMap.entrySet()) { + if (entry.getValue() > maxCount) { + maxCount = entry.getValue(); + mostFrequent = entry.getKey(); + } + } + + return mostFrequent; + } /** * 将byte数组按指定编码转为char数组 * @param byteArr 输入的byte数组