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

前端 未结 6 1451
别跟我提以往
别跟我提以往 2020-12-08 13:03

For example : A list

A B C D E

Given C , Switch to

C A B D E

Notice that the array size will change, some items may removed in run times

6条回答
  •  不知归路
    2020-12-08 13:19

    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.

提交回复
热议问题