我想打印出添加到鏈接列表的對象的內容。在這段代碼中,我預期的o/p是:100 20 300,但我得到:300 300 300.我哪裏出錯了?當LinkedList類型爲用戶定義的對象時,我們如何在java中的LinkedList中進行迭代?
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);
}
}
}
[ArrayList的問題(http://stackoverflow.com/questions/18742268/arraylist-issue) –
一個側面說明可能的重複,也可以考慮重寫'在'Body'類中的equals方法時,在比較存儲在列表中的Body對象時是必需的。如果你重寫'equals'重寫'hashCode' – Nishant