Я знаю, что это основной вопрос, но я боролся с ним в течение многих дней и не могу найти решение.Пожалуйста, любой совет будет очень признателен.
Я просто пытаюсь добавить элементы (объекты Node), содержащиеся в существующем ArrayList, в новый пустой 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));
}
Это не будет работать!Я посмотрел API для ArrayList и посмотрел на вопросы о стековом потоке, и из того, что я понял, метод .set (index, element) не работает в пустых списках, однако .add (index, element) 'должно работать, и я не могу понять, почему это не так.