发送一个ArrayList的项以结束

时间:2018-07-16 14:41:18

标签: android android-studio arraylist kotlin

我有一个像这样的ArrayList:

val myArrayList = ArrayList<String>()

myArrayList.add("a")
myArrayList.add("b")
myArrayList.add("c")

直到现在,“ a”是索引0,“ b”是索引1,“ c”是索引2。但是我希望“ a”移到ArrayList的末尾。我的意思是我希望索引是这样的:“ b”索引0,“ c”索引1,“ a”索引2。

你知道怎么可能吗?

4 个答案:

答案 0 :(得分:0)

您可以使用Collections.swap(List<?> list, int i, int j);

赞这个Collections.swap(myArrayList, 0, 2);

答案 1 :(得分:0)

使用此

       myArrayList.add("a");
        myArrayList.add("b");
        myArrayList.add("c");         
        Collections.swap(myArrayList, 1, 2);   
        Collections.swap(myArrayList, 2, 0);    
       Log.e("output",myArrayList.toString());

输出

[b,c,a]

答案 2 :(得分:0)

非常简单的解决方案:

java.util.Collections.rotate(myArrayList, -1)

这样,即使列表为空,列表的大小也将无关紧要。

Kotlin Playground

中尝试

答案 3 :(得分:-1)

有两种方法可以解决此问题。 ArrayList add方法(带有一个参数)会自动将您要添加的内容追加到列表的末尾。有两种解决方法:

myArrayList.add("c")
myArrayList.add("b")
myArrayList.add("a")

在上述情况下,这三个方法调用的顺序很重要。您也可以这样做:

myArrayList.add(0, "c")
myArrayList.add(1, "b")
myArrayList.add(2, "a")

在这种情况下,三个方法调用的顺序无关紧要。