List集合儲存物件,存的都是最後乙個輸入的值

2021-10-08 13:33:33 字數 706 閱讀 1191

list集合儲存物件,存的都是最後乙個輸入的值

public

class

user

public

static

void

main

(string[

] args)

system.out.

println

(list.

tostring()

);}

結果顯示:

user(id=0) user(id=1) user(id=2) user(id=3) user(id=4) user(id=5) user(id=6) user(id=7) user(id=8) user(id=9)

[user(id=9), user(id=9), user(id=9), user(id=9), user(id=9), user(id=9), user(id=9), user(id=9), user(id=9), user(id=9)]

原因:

在迴圈外建立物件,在迴圈內賦值,實際上是給同乙個物件賦值,而新增進集合的是物件的位址,所以集合裡的物件指向的是同乙個物件。

解決方案:

在迴圈裡面建立物件。

List 中儲存的物件資料,都是最後存入的值

list peoplelist newarraylist people people newpeople for int i 0 i 10 i 輸出結果都是 id10 age10 sout peoplelist 問題的產生在於,物件。物件中儲存的都是位址。people 物件在迴圈前,便新建成功,分配...

List集合儲存資料的結構

資料儲存的常用結構有 堆疊 佇列 陣列 鍊錶。堆疊,採用該結構的集合,對元素的訪問有如下的特點 1.先進後出 即,存進去的元素,要在它後面的元素依次取出後,才能取出該元素 例如,子彈壓進彈夾,先壓進去的子彈在下面,後壓進去的子彈在上面,當開槍時,先彈出上面的子彈,然後才能彈出下面的子彈。2.棧的入口...

集合框架《一》List集合具體物件的特點

1 add方法的引數型別是object。一邊與接收任意物件 2集合中儲存的是物件的引用 位址 集合中不存在物件實體 迭代器 集合取出的方式 iteratoriterator 返回在此 collection 的元素上進行迭代的迭代器 public class collectiontest public...