gpt4 book ai didi

java - 将一个 ArrayList 中的对象添加到另一个 ArrayList

转载 作者:行者123 更新时间:2023-11-30 04:55:11 25 4
gpt4 key购买 nike

我有 9 ArrayList s,我试图在某一特定点将它们全部浓缩为一个。

此时dotGridArrayList 的矩阵s,searchXsearchY只需指定哪个 ArrayList添加到 neighbours .

for(int searchX = sector[0] - 1; searchX < sector[0] + 2; searchX++){
for(int searchY = sector[1] - 1; searchY < sector[1] + 2; searchY++){
if(searchX >= 0 && searchX < 16 && searchY >= 0 && searchY < 16){
neighbours.add(dotGrid[searchX][searchY]);
}
}
}

据我了解neighbours.addAll()应该可以,但事实并非如此。

我真的很努力地寻找,但一直没能找到满意的答案。

提前致谢

最佳答案

neighbours.add(dotGrid[searchX][searchY])

dotGrid是一个数组。通常,您无法实例化完全限定泛型类型的数组:

List<Double>[][] dotGrid = new List<Double>[n][];

将因类型错误而失败,因此我假设 dotGrid已部分输入?

List[][] dotGrid;

这意味着 addAll(dotGrid[searchX][searchY])将会失败,因为您试图添加 List 的所有元素到 List<Double> .

理想情况下,您不会将对象数组与通用列表混合在一起,而是重新定义 dotGrid成为列表列表的列表:

List<List<List<Double>>> dotGrid;

如果这不起作用,您可以尝试@SuppressWarning("unchecked")确保dotGrid实例化后具有完全限定的类型,或者执行类似以下操作

@SuppressWarning("unchecked")
List<Double> cell = (List<Double>) dotGrid[searchX][searchY];
neighbours.addAll(cell);

关于java - 将一个 ArrayList 中的对象添加到另一个 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8777611/

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