2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > List分批处理

List分批处理

时间:2024-02-08 04:10:57

相关推荐

List分批处理

当我们需要对一个特别大的list进行处理时,通常需要进行分批处理,可以自己实现按照多少条进行分批,但是自己实现比较复杂,而且不同的人写还容易出错。

这里可以利用guava里面的工具类Lists.partion()来进行分批。

源码如下:

public static <T> List<List<T>> partition(List<T> list, int size) {checkNotNull(list);checkArgument(size > 0);return (list instanceof RandomAccess)? new RandomAccessPartition<>(list, size): new Partition<>(list, size);}

测试一下:(每批两条)

List<Integer> list = Lists.newArrayList(1,2,3,4,5,6,7);List<List<Integer>> partition = Lists.partition(list, 2);for (List<Integer> integers : partition) {System.out.println(integers);}

运行结果

[1, 2][3, 4][5, 6][7]

换一下(每批四条)

List<Integer> list = Lists.newArrayList(1,2,3,4,5,6,7);List<List<Integer>> partition = Lists.partition(list, 4);for (List<Integer> integers : partition) {System.out.println(integers);}

运行结果

List<Integer> list = Lists.newArrayList(1,2,3,4,5,6,7);List<List<Integer>> partition = Lists.partition(list, 4);for (List<Integer> integers : partition) {System.out.println(integers);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。