Лучший способ перестроить ArrayList в Java

Каков наилучший способ переупорядочения элементов в списке? Мне нужна возможность перемещать элементы для перемещения элементов в списке, один шаг назад или вперед в индексе. Я думал получить индекс элемента, добавив его в индекс -1/+2 и удалив старую ссылку.

Есть ли более быстрый способ обработки переупорядочения без создания дубликатов в списке в процессе.

Ответ 1

Использовать метод обмена JDK

Класс JDK Collections содержит метод для этой цели, называемый Collections.swap. Согласно документации API этот метод позволяет "обменивать элементы в указанных позициях в указанном списке".

Я предлагаю это решение, так что вам не нужно удалять элементы из списка, и вам не нужно откатывать свой собственный метод свопинга. Кроме того, похоже, что этот метод существует с момента выпуска 1.4 Java, поэтому он должен работать для большинства современных JDK.