我正在尝试打印添加到链接列表中的对象的内容。在这段代码中,我预期的o/p是:100 20 300,但我得到:300 300 300。我哪里出错了?
import java.util.*;
import java.lang.*;
import java.io.*;
class Body{
int i;
public void setB(int i){
this.i = i;
}
}
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
Body b = new Body();
Body bdum;
LinkedList<Body> l = new LinkedList<Body>();
b.setB(100);
l.add(b);
b.setB(20);
l.add(b);
b.setB(300);
l.add(b);
Iterator<Body> li = l.iterator();
System.out.println(l.size());
System.out.println("List is:");
while(li.hasNext()){
bdum = li.next();
System.out.println(bdum.i);
}
}
}
最佳答案
您创建一个 Body
对象并将其添加到列表中三次。您应该创建三个不同的对象。即:
b.setB(100);
l.add(b);
b = new Body();
b.setB(20);
l.add(b);
b = new Body();
b.setB(300);
l.add(b);
关于java - 当LinkedList是用户定义对象类型时,我们如何在java中迭代LinkedList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20006800/