我必须创建一个可以反转ArrayList的所有元素的方法... 例如, 如果我的清单有< 12 1 34 56 43>元素。然后它应该反转整个列表。 < 43 56 34 1 12>。 我尝试过这种方法,但它不起作用。这是方法
public void reverse() {
int size=0;
for (int i = 0, j = size - 1; i < size && j >= 0; i++, j--)
{
int temp = j;
j = i;
i = temp;
}
}
当我调用此方法list.revese()时。它不会反转列表。 任何人都可以帮帮我!!!
答案 0 :(得分:3)
您的代码处理索引但不处理索引的实际元素。还要注意,如果j <我,你正在做两次倒车,因此没有效果。
public void reverse(List<Integer> list) {
int size=list.size();
for (int i = 0, j = size - 1; i < size && j >= 0 && i <= j; /** i must be smaller. */ i++, j--)
{
int temp = list.get(j);
list.set(j, list.get(i));
list.set(i,temp);
}
}
答案 1 :(得分:1)
使用ArrayList对象,然后在构建数组后,您可以运行以下内容来反转内容:
Collections.reverse(your ArrayList Here);
答案 2 :(得分:0)
将'size'变量初始化为ArrayList的长度。您正在将其初始化为0。