将一个List分割为指定长度的多个List

1、测试数据

@Test
public void test_split(){
     
    List<Integer> list = new ArrayList<>();
    list.add(1);
    list.add(2);
    list.add(3);
    list.add(4);
    list.add(5);
    list.add(6);
    list.add(7);
    list.add(8);
}

2、方法一使用google guava包下的Lists

// com.google.common.collect
List<List<Integer>> p = Lists.partition(list, 3);
p.forEach(System.out::println);
/**
 * [1, 2, 3]
 * [4, 5, 6]
 * [7, 8]
 */

3、方法二使用apache.commons包下的ListUtils

// org.apache.commons.collections4
List<List<Integer>> partition = ListUtils.partition(list, 3);
partition.forEach(System.out::println);
/**
 * [1, 2, 3]
 * [4, 5, 6]
 * [7, 8]
 */

你可能感兴趣的:(爬坑大法,将一个集合分割为多个集合,一个list分割为多个list,对集合进行指定长度的分割)