diff --git a/CHANGELOG.md b/CHANGELOG.md
index c1586f8cd..962fef4f4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,9 +15,10 @@
* 【core 】 XmlUtil增加append重载(issue#I466Q0@Gitee)
* 【poi 】 增加EscapeStrCellSetter(issue#I466ZZ@Gitee)
* 【poi 】 ExcelBase增加renameSheet、cloneSheet(issue#I466ZZ@Gitee)
-* 【core 】 修复MapUtil.sort比较器不一致返回原map的问题(issue#I46AQJ@Gitee)
+* 【core 】 ListUtil增加splitAvg方法(pr#397@Gitee)
### 🐞Bug修复
+* 【core 】 修复MapUtil.sort比较器不一致返回原map的问题(issue#I46AQJ@Gitee)
* 【core 】 修复JSONSupport默认循环引用导致的问题(issue#1779@Github)
-------------------------------------------------------------------------------------------------------------
diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/AvgPartition.java b/hutool-core/src/main/java/cn/hutool/core/collection/AvgPartition.java
new file mode 100644
index 000000000..48811f4af
--- /dev/null
+++ b/hutool-core/src/main/java/cn/hutool/core/collection/AvgPartition.java
@@ -0,0 +1,57 @@
+package cn.hutool.core.collection;
+
+import cn.hutool.core.lang.Assert;
+
+import java.util.List;
+
+/**
+ * 列表分区或分段
+ * 通过传入分区个数,将指定列表分区为不同的块,每块区域的长度均匀分布(个数差不超过1)
+ *
+ * [1,2,3,4] -》 [1,2], [3, 4] + * [1,2,3,4] -》 [1,2], [3], [4] + * [1,2,3,4] -》 [1], [2], [3], [4] + * [1,2,3,4] -》 [1], [2], [3], [4], [] + *+ * 分区是在原List的基础上进行的,返回的分区是不可变的抽象列表,原列表元素变更,分区中元素也会变更。 + * + * @param
例:
- *+ * * - * @param- * ListUtil.splitAvg(null, 3); // [[], [], []] + *+ * ListUtil.splitAvg(null, 3); // [] * ListUtil.splitAvg(Arrays.asList(1, 2, 3, 4), 2); // [[1, 2], [3, 4]] * ListUtil.splitAvg(Arrays.asList(1, 2, 3), 5); // [[1], [2], [3], [], []] * ListUtil.splitAvg(Arrays.asList(1, 2, 3), 2); // [[1, 2], [3]] - *
+ * [1,2,3,4] -》 [1,2], [3, 4] + * [1,2,3,4] -》 [1,2], [3], [4] + * [1,2,3,4] -》 [1], [2], [3], [4] + * [1,2,3,4] -》 [1], [2], [3], [4], [] + *+ * 分区是在原List的基础上进行的,返回的分区是不可变的抽象列表,原列表元素变更,分区中元素也会变更。 + * + * @param