Как я могу переместить элемент от 2 до 0 в списке, используя коллекции - PullRequest
0 голосов
/ 14 октября 2018

Я знаю, как я могу заменить Предметы, используя класс Коллекции , но я хочу переместить Предмет, но не заменяю Предметы

List<String> list = new ArrayList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");
        /*
        Outputs
        {A,B,C,D}
        I wanna move C to 0 on list and move A to 1 on list like this
        {C,A,B,D}
        */

На самом деле у меня есть комментарии Список, и я хочу показать комментарии пользователейпервый в переработчике, как Youtube.

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

Тот же вопрос задавался и отвечался раньше: Перемещение элементов в ArrayList

Для вашего примера:

Collections.rotate(list.subList(0, 3), 1);

Существуют и другие возможности, подобные этой:

list.add(0, list.remove(2));
0 голосов
/ 14 октября 2018

Лучше использовать LinkedList вместо ArrayList из-за быстрой синхронизации процесса добавления и удаления, поэтому вы можете сделать это:

List<String> list = new LinkedList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");

String element = list.get(2); 
list.remove(2); 
list.addFirst(element);

, а также, если это не зависит от индекса и значенияДело ниже код может быть полезным:

Iterator it = list.iterator();
while (it.hasNext()) {
    Object thing = it.next();
    if (ThisIsTheObjectWeAreLookingFor(thing)) {
        it.remove();
        list.addFirst(thing);
        return thing;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...