mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add ZUC
This commit is contained in:
@@ -40,6 +40,8 @@ public class AvgPartition<T> extends Partition<T> {
|
||||
|
||||
@Override
|
||||
public List<T> get(int index) {
|
||||
final int size = this.size;
|
||||
final int remainder = this.remainder;
|
||||
// 当limit个数超过list的size时,size为0,此时每个分区分1个元素,直到remainder个分配完,剩余分区为[]
|
||||
int start = index * size + Math.min(index, remainder);
|
||||
int end = start + size;
|
||||
|
@@ -38,10 +38,11 @@ public class Partition<T> extends AbstractList<List<T>> {
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
// 此处采用动态计算,以应对list变化
|
||||
// 此处采用动态计算,以应对list变
|
||||
final int size = this.size;
|
||||
final int total = list.size();
|
||||
int length = total / size;
|
||||
if(total % length > 0){
|
||||
if(total % size > 0){
|
||||
length += 1;
|
||||
}
|
||||
return length;
|
||||
|
@@ -18,11 +18,19 @@ public class ListUtilTest {
|
||||
|
||||
@Test
|
||||
public void splitTest(){
|
||||
List<String> listAll = new ArrayList<>();
|
||||
listAll.add("1");
|
||||
listAll.add("2");
|
||||
List<List<String>> lists = ListUtil.split(listAll, 10);
|
||||
Assert.assertEquals(1, lists.size());
|
||||
List<List<Object>> lists = ListUtil.split(null, 3);
|
||||
Assert.assertEquals(ListUtil.empty(), lists);
|
||||
|
||||
lists = ListUtil.split(Arrays.asList(1, 2, 3, 4), 1);
|
||||
Assert.assertEquals("[[1], [2], [3], [4]]", lists.toString());
|
||||
lists = ListUtil.split(Arrays.asList(1, 2, 3, 4), 2);
|
||||
Assert.assertEquals("[[1, 2], [3, 4]]", lists.toString());
|
||||
lists = ListUtil.split(Arrays.asList(1, 2, 3, 4), 3);
|
||||
Assert.assertEquals("[[1, 2, 3], [4]]", lists.toString());
|
||||
lists = ListUtil.split(Arrays.asList(1, 2, 3, 4), 4);
|
||||
Assert.assertEquals("[[1, 2, 3, 4]]", lists.toString());
|
||||
lists = ListUtil.split(Arrays.asList(1, 2, 3, 4), 5);
|
||||
Assert.assertEquals("[[1, 2, 3, 4]]", lists.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user