diff --git a/kernel-a-rule/src/main/java/cn/stylefeng/roses/kernel/rule/util/SortUtils.java b/kernel-a-rule/src/main/java/cn/stylefeng/roses/kernel/rule/util/SortUtils.java index 8ed129c94..14013a690 100644 --- a/kernel-a-rule/src/main/java/cn/stylefeng/roses/kernel/rule/util/SortUtils.java +++ b/kernel-a-rule/src/main/java/cn/stylefeng/roses/kernel/rule/util/SortUtils.java @@ -3,8 +3,10 @@ package cn.stylefeng.roses.kernel.rule.util; import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.roses.kernel.rule.util.sort.GetSortKey; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; +import java.util.Set; /** * 排序工具类 @@ -41,4 +43,29 @@ public class SortUtils { return newSortList; } + /** + * 对Set数组进行排序 + * + * @author fengshuonan + * @since 2023/11/1 18:41 + */ + public static Set sortListByObjectKey(Set originList, Set keys) { + + if (ObjectUtil.isEmpty(originList) || ObjectUtil.isEmpty(keys)) { + return originList; + } + + Set newSortList = new LinkedHashSet<>(); + for (Object key : keys) { + for (T listItem : originList) { + Object sortKey = listItem.getSortKey(); + if (ObjectUtil.equal(key, sortKey)) { + newSortList.add(listItem); + } + } + } + + return newSortList; + } + }