From a0ac4362ddf3a8ef537afcae63552cbc39fda422 Mon Sep 17 00:00:00 2001 From: Looly Date: Wed, 29 Mar 2023 21:57:20 +0800 Subject: [PATCH] fix code --- .../src/main/java/cn/hutool/core/collection/CollUtil.java | 5 +++-- .../test/java/cn/hutool/core/collection/CollUtilTest.java | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java index 8a0b0e4df..1eb2701d2 100755 --- a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java @@ -844,11 +844,12 @@ public class CollUtil { return result; } - ArrayList subList = new ArrayList<>(size); + final int initSize = Math.min(collection.size(), size); + ArrayList subList = new ArrayList<>(initSize); for (final T t : collection) { if (subList.size() >= size) { result.add(subList); - subList = new ArrayList<>(size); + subList = new ArrayList<>(initSize); } subList.add(t); } diff --git a/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java index f87b0586e..6242a5230 100755 --- a/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java @@ -304,6 +304,14 @@ public class CollUtilTest { Assert.assertEquals(3, split.get(0).size()); } + @Test + public void splitTest2() { + final ArrayList list = ListUtil.of(1, 2, 3, 4, 5, 6, 7, 8, 9); + final List> split = CollUtil.split(list, Integer.MAX_VALUE); + Assert.assertEquals(1, split.size()); + Assert.assertEquals(9, split.get(0).size()); + } + @Test public void foreachTest() { final HashMap map = MapUtil.newHashMap();