Подскажите, зачем в правильном решении в методе reverse строка
int temp = numbers.get(i);
Не могу понять, что она дает.
Нашел объяснение в другом вопросе: "В переменную temp сохраняем ссылку на первый элемент массива (нужно для того, чтобы не потерять ссылку, тк следующим действием мы эту ссылку затираем и если не сохраним ее сейчас, то потеряем навсегда)"
Понятнее не стало. Зачем нам сохранять эту ссылку? Почему она затирается?
Заранее спасибо
George
33 уровень
Подскажите по строке в методе Reverse
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Галкин Юрий
5 августа 2021, 16:28
Есть процесс "Сборщик мусора", он занимается освобождением памяти, по некоторому правилу от времени ли, от накопленной массы лишнего -- он это лишнее уничтожает. Лишним считается все, на что не осталось ссылок. Ничто в коде не хранит более ссылку на данный объект, делая объект недоступным для управления им.
0
George
5 августа 2021, 14:34
Если написать метод Reverse так
public static void reverse() {
int n = numbers.size() - 1;
for (int i = 0; i < numbers.size() / 2; i++) {
numbers.set(i, numbers.get(n - i));
numbers.set(n - i, i);
}
Все отрабатывает как надо. Стало еще более непонятно
0