![JAR search and dependency download from the Maven repository](/logo.png)
com.github.liuyehcf.framework.common.tools.collection.SplitUtils Maven / Gradle / Ivy
The newest version!
package com.github.liuyehcf.framework.common.tools.collection;
import com.github.liuyehcf.framework.common.tools.asserts.Assert;
import com.google.common.collect.Lists;
import java.util.List;
/**
* @author hechenfeng
* @date 2019/9/15
*/
public abstract class SplitUtils {
public static List> split(List list, int segmentSize) {
Assert.assertNotNull(list);
Assert.assertTrue(segmentSize > 0);
final List> segments = Lists.newArrayList();
int left = 0, right = Math.min(segmentSize, list.size());
while (right < list.size()) {
final List segment = Lists.newArrayList(list.subList(left, right));
left = right;
if (right + segmentSize < list.size()) {
right += segmentSize;
} else {
right = list.size();
}
segments.add(segment);
}
segments.add(Lists.newArrayList(list.subList(left, right)));
return segments;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy