gpt4 book ai didi

java - 如何初始化二维 ArrayList 的内部 ArrayList

转载 作者:行者123 更新时间:2023-11-30 06:52:03 26 4
gpt4 key购买 nike

下面的 ArrayList 是一个二维的 size 部分的 ArrayList。在将storIes分成ArrayList的部分,并将它们添加到2D ArrayList的内部ArrayList中。

ArrayList<ArrayList<String>> partStoreIds = new ArrayList<ArrayList<String>>(parts);    
for(int i = 0; i < parts; i++)
{
System.out.println("Executing part: " + i);
int maxIndex = Math.min(storeIds.size(), querySize*(i+1));
//The below line is throwing an exception
partStoreIds.addAll(storeIds.subList(querySize*i, maxIndex));

}

最佳答案

您尝试实现的目标可以按以下方式完成:

partStoreIds.add(new ArrayList<>(storeIds.subList(querySize*i, maxIndex)));

确实,因为 partStoreIdsArrayListArrayList,只能添加 ArrayList 实例,因为 storeIds.subList(querySize*i, maxIndex) 返回一个List,您需要先使用构造函数将其转换为ArrayList new ArrayList(Collection) .

但更简单的方法是将您的 partStoreIds 声明为 ListList,然后您可以添加您的 subList 直接如下:

List<List<String>> partStoreIds = new ArrayList<>(parts);
...
partStoreIds.add(storeIds.subList(querySize*i, maxIndex));

关于java - 如何初始化二维 ArrayList 的内部 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39675649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com