簡體   English   中英

在HashMap Java中存儲數據

[英]Storing Data in a HashMap Java

我試圖將數據存儲在HashMap中,但是似乎只能將要讀取的數據源的最后一項存儲到HashMap中,我不確定為什么。

下面是我的代碼:

//Loops through the counties and stores the details in a Hashmap
void getCountyDetails(List<Marker>m){  
   HashMap t = new HashMap();
  for(Marker county: countyMarkers){
    println("county:" + county.getProperties());
     t = county.getProperties();
  }
  println(t);
}

這行-> println("county:" + county.getProperties());

輸出此:

county:{name=Carlow, pop=54,612}
county:{name=Cavan, pop=73,183}
county:{name=Clare, pop=117,196}
county:{name=Cork, pop=519,032}
county:{name=Donegal, pop=161,137}
county:{name=Dublin, pop=1,273,069}
county:{name=Galway, pop=250,541}
county:{name=Kerry, pop=145,502}
county:{name=Kildare, pop=210,312}
county:{name=Kilkenny, pop=95,419}
county:{name=Laois, pop=80,559}
county:{name=Letrim, pop=31,796}
county:{name=Limerick, pop=191,809}
county:{name=Longford, pop=39,000}
county:{name=Louth, pop=122,897}
county:{name=Mayo, pop=130,638}
county:{name=Meath, pop=184,135}
county:{name=Monaghan, pop=60,483}
county:{name=Offaly, pop=76,687}
county:{name=Roscommon, pop=64,065}
county:{name=Sligo, pop=65,393}
county:{name=Tipperary, pop=158,754}
county:{name=Waterford, pop=113,795}
county:{name=Westmeath, pop=86,164}
county:{name=Wexford, pop=145,320}
county:{name=Wicklow, pop=136,640}

我想將它們存儲在HashMap

這行-> println(t); 輸出:

{name=Wicklow, pop=136,640}

不勝感激。 基本上,它只是將數據列表放入哈希圖中,並且當前僅將列表中的最后一項放入其中。

如果要打印每個Markerproperties ,請將println(t)行移到for循環中,因為此時t將指向最后使用的元素的屬性,因為您只需在循環的每次迭代中重新分配它的值即可。 。 為了put一個元素的地圖,使用put(Key, Value)putAll()方法,而不是

在Java中,應使用hashMap.put(key,value)將新項目添加到哈希圖中。 在代碼中,您編寫了HashMap t = new HashMap(); t = county.getProperties(); 因此實際上每次您將地圖值重新分配給國家/地區屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM