如何将数组列表分成相等的部分?

2023-11-23

是否有办法将 ArrayList 分成不同的部分,直到运行时才知道它的大小?我知道有一种方法叫做:

list.subList(a,b);

但我们需要明确提及列表的起始和结束范围。 我的问题是,我们得到一个包含帐号的数组列表,其中包含 2000,4000 个帐号等数据(在编码期间不会知道这些数字),我需要将此帐号传递到 PL/SQL 的 IN 查询中,如下所示IN 不支持超过 1000 个值,我试图分成多个块并将其发送到查询

注意:我不能使用任何外部库,如 Guava 等..:( 任何这方面的指导都值得赞赏。


这应该给你所有的部分:

int partitionSize = 1000;
List<List<Integer>> partitions = new LinkedList<List<Integer>>();
for (int i = 0; i < originalList.size(); i += partitionSize) {
    partitions.add(originalList.subList(i,
            Math.min(i + partitionSize, originalList.size())));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将数组列表分成相等的部分? 的相关文章

随机推荐