繁体   English   中英

如何使用reverse方法反转ArrayList的所有元素?

[英]How to reverse the all element of ArrayList using reverse method?

我必须制作一个可以反转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()时。 它不会反转列表。 谁能帮帮我!!!

您的代码处理索引,但不处理索引的实际元素。 另请注意,如果j <i,则执行两次反转,因此将没有任何效果。

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);         
  }          
}

使用ArrayList对象,然后在构建数组之后,可以运行以下命令来反转内容:

Collections.reverse(your ArrayList Here);

将“ size”变量初始化为ArrayList的长度。 您正在将其初始化为0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM