在做多线程批量插入时,需要将待插入数据集合拆分成多个小集合去并行插入。于是参照了网上前辈们的写法实现了功能,为了加深记忆,在此记录下拆分集合的写法,争取能把学来的都变成自己的。
详细代码如下:
//将一个大的集合拆分成小集合
public static void main(String[] args) {
List collect =
Stream.of("aa", "bb", "cc", "dd", "ee", "ff", "gg", "hh", "ii", "jj", "kk", "ll", "mm", "nn", "oo")
.collect(Collectors.toList());
//集合的大小
int size = collect.size();
//需要拆分成的每个集合大小
int newSize = 15;
//需要需要拆分成的小集合数量(拆分没有余数则取相除的结果,如果有余数则需要再加一个集合存放余数)
int runSize = size%newSize!=0 ? (size/newSize)+1 : size/newSize;
//循环参照大集合,能拆分成的集合有多少个就循环多少遍
for (int i = 0; i |