繁体   English   中英

遍历ArrayList <Object> 使用for循环

[英]Iterating over an ArrayList<Object> using a 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中的最后一个元素,因此输出了Birch。 我尝试使用不同的循环方法,例如

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

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

暂无
暂无

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

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