List分割


前言

对list进行批量操作,可以参考.

一、apache ListUtils.partition

 引入依赖
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.4</version>
</dependency>

 代码演示
public static void main(String[] args) {
    
    
    //初始化数组
    List<Integer> parList = new ArrayList<>();
    IntStream.range(0, 30).forEach(parList::add);
 
    //分割成子数组
    List<List<Integer>> subList = ListUtils.partition(parList, 10);
 
    //遍历子数组
    subList.forEach(list -> {
    
    
        System.out.println(String.format("subList size:%s", list.size()));
        System.out.println(String.format("list:%s", list.toString()));
    });
}

二、guava Lists.partition

 引入依赖
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>29.0-jre</version>
</dependency>

 代码演示
public static void main(String[] args) {
    
    
    //初始化数组
    List<Integer> parList = new ArrayList<>();
    IntStream.range(0, 30).forEach(parList::add);
 
    //分割成子数组
    List<List<Integer>> subList = Lists.partition(parList, 10);
 
    //遍历子数组
    subList.forEach(list -> {
    
    
        System.out.println(String.format("subList size:%s", list.size()));
        System.out.println(String.format("list:%s", list.toString()));
    });
}

三、hutool ListUtil.partition

 引入依赖
<dependency>
  <groupId>cn.hutool</groupId>
  <artifactId>hutool-all</artifactId>
  <version>5.7.14</version>
</dependency>

 代码演示
import cn.hutool.core.collection.ListUtil;
import java.util.Arrays;
import java.util.List;
 
public class PartitionByHutoolExample {
    
    
    //初始化数组
    List<Integer> parList = new ArrayList<>();
    IntStream.range(0, 30).forEach(parList::add);
 
    public static void main(String[] args) {
    
    
        // 分片处理
        List<List<String>> newList = ListUtil.partition(parList, 10);
        newList.forEach(i -> {
    
    
            System.out.println("集合长度:" + i.size());
        });
    }
}

总结

如有疑问,可在评论区探讨

猜你喜欢

转载自blog.csdn.net/qq_39239864/article/details/135869013