我试图从ArrayList中删除三个元素,并将它们放在结尾。
我想要这个输出:
d
e
f
a
b
c
这是我的代码:
ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
for (int i = 0; i < list.size(); i++) {
String a = list.get(i);
if (i < 3) {
list.remove(i);
list.add(list.size(), a);
}
}
输出为:
b
d
f
a
c
e
如果我这样做:
for (int i = list.size()-1; i >=0 ; i--) {
String a = list.get(i);
if (i < 3) {
list.remove(a);
list.add(list.size(), a);
}
}
输出为:
d
e
f
c
b
a
我通常理解为什么会得到这些结果,但是我不知道如何解决。
我尝试过,但是没用:
for (int i = 0; i < list.size(); i++) {
String a = list.get(i);
if (i < 3) {
list.remove(i);
list.add(list.size(), a);
i--;
}
}
感谢您的帮助!
答案 0 :(得分:0)
ArrayList<String> list = new ArrayList<String>();
int remove = 3; /* number of elements to remove */
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
for (int i = 0; i < remove; i++) {
list.add(list.remove(0));
}
/* print */
System.out.println(Arrays.toString(list.toArray()));