How to move specific item in array list to the first item How to move specific item in array list to the first item android android

How to move specific item in array list to the first item


What you want is a very expensive operation in an ArrayList. It requires shifting every element between the beginning of the list and the location of C down by one.

However, if you really want to do it:

int index = url.indexOf(itemToMove);url.remove(index);url.add(0, itemToMove);

If this is a frequent operation for you, and random access is rather less frequent, you might consider switching to another List implementation such as LinkedList. You should also consider whether a list is the right data structure at all if you're so concerned about the order of elements.


Do this:

  1. Remove the element from the list: ArraylistObj.remove(object);
  2. Add the element back to the list at specific position: ArrayListObj.add(position, Object);

As per your code use this :

url.remove("C");url.add(0,"C");


Another solution, just keep swaping from 0 to indexOf(itemToMove).

This is my Kotlin version:

val list = mutableListOf('A', 'B', 'C', 'D', 'E')(0..list.indexOf('C')).forEach {    Collections.swap(list, 0, it)}

Sorry I am unfamiliar with Java but learned a little Kotlin. But the algorithm is the same.