Android 更改arraylist中的项索引

Android 更改arraylist中的项索引,android,arraylist,Android,Arraylist,我有一个带有三个PackageName的列表。因此,如果我“单击”第二项com.app.2,我希望索引为0。我不想替换它,我只想更改索引 例如: (0) com.app.1 (1) com.app.2 (2) com.app.3 (0) com.app.1 (1) com.app.2 (2) com.app.3 单击第二项(从上方) 单击第三项(从上面开始) 单击第二项(从上方) 我原以为List.set(I,Object)就可以了,但它是这样做的: 单击第二项(从上方) 因此,它正在替换项

我有一个带有三个PackageName的
列表
。因此,如果我“单击”第二项
com.app.2
,我希望索引为0。我不想替换它,我只想更改索引

例如:

(0) com.app.1
(1) com.app.2
(2) com.app.3
(0) com.app.1
(1) com.app.2
(2) com.app.3
单击第二项(从上方)

单击第三项(从上面开始)

单击第二项(从上方)

我原以为
List.set(I,Object)
就可以了,但它是这样做的:

单击第二项(从上方)

因此,它正在替换项目,而这不是我想要的。

尝试将
remove(int)
add(int,E)
组合:

在这种特殊情况下,一切都能完美工作。但是,如果要添加到
0
以外的位置,则必须记住,列表中删除项目后的所有内容都将向上“滑动”一个位置

(0) com.app.3
(1) com.app.2
(2) com.app.1
(0) com.app.2
(1) com.app.3
(2) com.app.1
(0) com.app.1
(1) com.app.2
(2) com.app.3
(0) com.app.2
(1) com.app.2
(2) com.app.3
POJO tmp = list.remove(i); // the clicked index
list.add(0, tmp);