使用for循环遍历ArrayList <object>

时间:2018-11-15 00:54:24

标签: for-loop

我的for循环在遍历包含对象的ArrayList上遇到问题。我创建了一个包含这些项目的ArrayList,LumberItem只是名称的字符串和金额的整数。

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的末尾。我想知道为什么会这样,因为我还没有弄清楚。

1 个答案:

答案 0 :(得分:1)

所以我是个白痴,我使用的是.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());

会工作。 希望我的阅读能力差能帮助别人!