gpt4 book ai didi

java - 使用循环将元素添加到 ArrayList 并在控制台上输出它们

转载 作者:行者123 更新时间:2023-12-01 19:47:45 25 4
gpt4 key购买 nike

我知道这是一个基本问题,但我已经困扰了很多天,但找不到解决方案。请提供任何建议,我们将非常感激。

我只是尝试将现有 ArrayList 中包含的元素(Node 对象)添加到新的空 ArrayList 中。这个想法是,如果我可以一次添加一个元素,我就可以对 1 个元素的列表运行堆排序方法,然后对 2 个元素的列表运行,然后对 3 个元素的列表运行堆排序方法,等等。

但是,当使用 for 循环、while 循环甚至增强的 for 循环时,我无法成功添加元素并输出其结果值或顺序。当我按如下方式手动添加它们时,它似乎有效:

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

test_list.add(0, 5);
test_list.add(1,10);
test_list.add(2, 15);
test_list.add(3, 20);
test_list.add(4, 25);

for (Integer num : test_list){
System.out.println("output testing output testing" + num);
}

但是,当我尝试使用循环来添加它们时,如下所示:

for (int i = 0; i<test_list.size()-1; i++)
{
test_list.add(i, i*5);
System.out.println(test_list.get(i));
}

这不会起作用!我查看了 ArrayList 的 API,也查看了 stackoverflow 问题,根据我收集的信息,'.set(index, element)' 方法不适用于空列表,但是 '.add(index , element)' 应该可以工作,但我不明白为什么它不起作用。

最佳答案

问题是在你开始添加之前你的数组列表是空的(大小= 0);所以你的循环正在空运行。

增强的 for 循环也不起作用,因为列表一开始就没有项目。

当您手动添加它们时,您可以成功地将项目添加到列表中,因为您不依赖于列表的大小。

利用 Mert Ozdal's answer 中的替代实现

关于java - 使用循环将元素添加到 ArrayList 并在控制台上输出它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52506261/

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