Android: ArrayList Переместите элемент в положение 0

У меня есть ArrayList, и мне нужно убедиться, что определенный элемент находится в позиции 0, а если нет, мне нужно его переместить. Элемент имеет isStartItem boolean на нем, поэтому я могу легко найти конкретный элемент, который мне нужен, чтобы он находился в позиции 0, но как я могу переместить его в нужное положение?

Я предполагаю, что мне нужно использовать что-то вроде этого:

 for(int i=0; i<myArray.size(); i++){ if(myArray.get(i).isStartItem()){ Collection.swap(myArray, i, 0); } } 

Но это, похоже, не работает …

    Вам нужно использовать метод swap класса Collections . Collections , с s в конце.

    Изменить –

     Collection.swap(myArray, i, 0); 

    к этому –

     Collections.swap(myArray, i, 0); 

    Взгляните на этот пример.

    Коллекция и коллекции – это две разные вещи в Java. Первый – это интерфейс, второй – класс. Более поздний имеет метод статического свопа, но первый – нет.

    Я не знаю, что такое Collection.swap , но этот код должен работать:

     for(int i=0; i<myArray.size(); i++){ if(myArray.get(i).isStartItem()){ Collections.swap(myArray, i, 0); break; } } 

    Или вы можете сделать это долго:

     for(int i=0; i<myArray.size(); i++){ if(myArray.get(i).isStartItem()){ Object thing = myArray.remove(i); // or whatever type is appropriate myArray.add(0, thing); break; } } 

    Вы можете использовать функцию set Arraylist.

     set(position,object)