<Object> 使用 for 循环遍历 ArrayList



我的for循环在包含对象的ArrayList上迭代时遇到问题。我制作了一个包含这些项目的ArrayList,LumberItem只是一个String表示名称,一个int表示金额。

ArrayList<LumberItem> lumberList = new ArrayList<LumberItem>();
LumberItem wood1 = new LumberItem("Oak", 1500);
lumberList.add(0, wood1);
LumberItem b = new LumberItem("Pine", 1500);
lumberList.add(1,b);
LumberItem c = new LumberItem("Cedar", 1500);
lumberList.add(2, c);
LumberItem d = new LumberItem("Maple", 1500);
lumberList.add(3, d);
LumberItem exp = new LumberItem("Birch", 1500);
lumberList.add(4, exp);

我尝试使用类似的for循环

for(int i = 0; i < lumberList.size(); i++) {
    contentTA.setText(lumberList.get(i).getType());
    contentTA.append("n at index" + i + "n");
}

我的输出只包含ArrayList中的最后一个元素,因此,桦树被输出。我尝试过使用不同的循环方法,比如

for(LumberItem l : lumberList)

当我尝试输出时,我仍然处于ArrayList的末尾。我想知道为什么会发生这种事,因为我还没有弄清楚。

所以我是个白痴,我使用.setText((,每次调用它时都会清除JTextArea,所以它应该是.append((!

for(LumberItem L : lumberList) {
    contentTA.append("n" + L.getType());
}

for(int i = 0; i < lumberList.size(); i++) {
contentTA.append(lumberList.get(i).getType());

会起作用的。希望我糟糕的阅读能力能帮助其他人!

最新更新