我正在阅读这本Java书籍,并且遇到了一个我似乎无法解决的练习。这个想法是创建一个ArrayList钱包,里面有很多硬币,然后打印出来。我已经添加了...
static String d = "Dime";
static String q = "Quarter";
static String n = "Nickel";
purse.addCoin(d);
purse.addCoin(q);
purse.addCoin(d);
purse.addCoin(n);
...在我的主要班级。我的打印方法效果很好,我只需要弄清楚如何反转数组列表中的所有元素然后进行打印即可。我的反向循环从一开始就循环遍历数组列表,效果很好,但是我不确定如何删除不需要的元素。我显然愿意采取不同的方法,因为我正在寻求正确的方法。这是我的反向方法:
public static void printInReverse() {
for (int i = p.size() - 1; i >= 0; i--) {
p.add(p.get(i));
//I'm lost here as far as approaching the method this way
}
System.out.println("Purse" + p);
}
我试图对此进行研究,但似乎找不到可靠的解决方案。
最佳答案
您是否有任何理由需要从列表中删除内容?只需反向打印即可,实际上不修改列表。
for(int i = p.size()-1; i> = 0; i--){
System.out.println(p.get(i));
}
如果要反转列表,请考虑只是从头开始制作一个新列表,并以相反的顺序插入元素。然后将旧列表换成新列表。或使用
Collections.reverse
。