gpt4 book ai didi

java - ArrayList 的 ArrayList,默认值

转载 作者:行者123 更新时间:2023-11-29 04:20:44 29 4
gpt4 key购买 nike

我是 Java 的初学者,我正在尝试创建一个 ArrayList 来存储包含整数的 ArrayList。我已经知道我想要的外部 ArrayList 的大小并且想要存储内部 ArrayList。例如,我想将所有狗 ID 号添加到存储在外部 ArrayList 的第一个索引中的 ArrayList,第二个索引中的猫 ID 号,第三个中的蜥蜴 ID 号。这将以随机顺序发生,所以我想要外部 ArrayList 的大小已经初始化,因此当我遇到它时,我可以将 ID 号发送到它的正确内部列表。这就是我所做的:

ArrayList<ArrayList<Integer>> outer = new ArrayList<ArrayList<Integer>>(capacity);
ArrayList<Integer> inner = new ArrayList<Integer>();
for (int i = 0; i < capacity; i++) {
outer.add(null);
}

将这些索引初始化为 null 会将大小增加到存储在 capacity 中的任何数字,并允许我稍后通过执行 outer.get(3).add( 10) 然后 outer.get(0).add(22)?

我也想过这样做:

ArrayList<ArrayList<Integer>> outer = new ArrayList<ArrayList<Integer>>(capacity);
ArrayList<Integer> inner = new ArrayList<Integer>();
for (int i = 0; i < capacity; i++) {
outer.add(inner);
}

但不知道添加 inner 是否真的会将 outer 中的所有索引初始化为 Integer ArrayLists,或者它们是否会引用“inner”变量本身或类似的东西。

最佳答案

ArrayListsize(元素个数)和capacity(需要自动扩容前它能容纳的元素个数)可用于优化,现在您可以安全地忽略 capacity 并仅根据您的需要添加和删除元素。

创建外部数组:

ArrayList<ArrayList<Integer>> outer = new ArrayList<>();

然后添加你需要的所有内部数组:

for (int i = 0; i < capacity; i++) {
outer.add(new ArrayList<Integer>());
}

关于java - ArrayList 的 ArrayList,默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49355128/

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