java在创建反转arraylist的方法时遇到问题
尝试使用for循环反转arraylist时遇到问题。这就是我所做的,但它不会反转阵列:
import java.util.*;
class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(4);
list.add(5);
reverse(list);
}
public static void reverse(ArrayList<Integer> list){
Integer [] reverse = new Integer[list.size()];
for (int i=0; i<list.size(); i++){
reverse[i] = list.get(0);
System.out.println (reverse[i]);
}
}
}
这是我期望的输出:
5
4
3
这就是我得到的:
$ java Test
3
3
3
# 1 楼答案
如果您只想按相反的顺序打印值(看起来是这样的):
如果要在数组中返回反向列表:
# 2 楼答案
# 3 楼答案
考虑使用:
至于您的方法,您将列表(0)中的值分配给数组中的每个索引。这将在不使用太多额外内存的情况下,在适当的位置反转列表
# 4 楼答案
重复获取
list
中的第一项,将其分配给数组中的新元素,然后打印它。get
方法不会从列表中删除该项;它只是退回它从列表末尾计算索引,然后调用
get
但是,由于您只是在将数组中的值分配给数组后立即打印该值,因此该数组是无用的。只需打印计算索引中的值