我有一个对象列表,我想在列表上做一些操作,使得特定对象应该移动到列表位置0并且位置0处的对象将发生移位对象。图如下所示。
列表如下
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);
如何在冗余有效的步骤中执行相同的逻辑,而不是使用临时列表。
答案 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);