關於list中儲存map資料重複問題

2021-07-28 02:13:00 字數 541 閱讀 9307

以下兩段**中儲存的資料有所差異

public static void main(string args) 

for (int j = 0; j < list1.size(); j++)

// 第二組

list list2 = new arraylist();

for (int i = 0; i < list.size(); i++)

for (int j = 0; j < list2.size(); j++)

}

其中第一組的輸出是:

--- ---

---第二組的輸出是:

******

***我們發現兩組輸出的資料不通,只因map放置的位置不同而已。

在第一組**中,list存放的是通乙個map物件,在堆記憶體中map指向的是同乙個位址,這種情況下就會發生資料的重複或者說是覆蓋;

在第二組中我們將map放進了迴圈裡面,這樣在每次迴圈的時候都會重新再例項化乙個map物件,使map物件在堆記憶體中指向的位址不同,所以輸出的資料也就是不一樣的。

在map中儲存struct,及map的檔案輸入輸出

自己寫的 因為我記憶力差的驚人,所以一方面以後我用到這個 直接複製貼上反正會忘,就不費力記了。另一方面,看到國內很多這樣現成的例子少,所以方便大家。用函式的方法實現 從map輸出到檔案,map的value是struct include include include include using na...

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

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

Vuex集中儲存管理資料

vuex集中儲存和管理應用的所有的元件狀態 資料 import vuex from vuex vue.use vuex let state let mutations decrement 這裡主要通過this.store.commit increment 來改變state裡的count值 let a...