交换列表的元素

时间:2015-01-08 09:15:02

标签: java

我有一个对象列表,我想在列表上做一些操作,使得特定对象应该移动到列表位置0并且位置0处的对象将发生移位对象。图如下所示。

enter image description here

列表如下

final List<Object> list= new ArrayList<Object>();

目前我已经制作了两个临时名单

final List<Object> temp1= new ArrayList<Object>();
    final List<Object> temp2= new ArrayList<Object>();

执行操作我正在运行一个循环,并且在特定情况下将对象添加到temp1,否则添加到temp2,如下所示:

for (int i = 0; i < 5; i++) {

                if (i==3) {

                    temp1.add(i);

                } else {
                    temp2.add(i);
                }
            }

最后做

list.addAll(temp1);
            list.addAll(temp2);

如何在冗余有效的步骤中执行相同的逻辑,而不是使用临时列表。

2 个答案:

答案 0 :(得分:11)

使用此swap方法:

Collections.swap(List<?> list, int i, int j);

答案 1 :(得分:6)

试试这段代码:

Object temp = list.get(0);
list.set(0, list.get(3));
list.set(3, temp);