2014-02-06 2 views
0

Я пытаюсь хранить данные в HashMap, но я могу только сохранить последний элемент источника данных, который я читаю в HashMap, и я не уверен, почему.Хранение данных в HashMap Java

Ниже мой код:

//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} 

бы признателен за любую помощь по парням материи. В основном это просто получать список данных в HashMap и в настоящее время только последний пункт в этом списке помещаются в.

+0

Итак, где ваш метод вызова «HashMap.put»? –

ответ

3

Если вы хотите распечатать properties каждого Marker, переместите println(t) строку в цикл, так как на данный момент t будет указывать на свойства последнего использованного элемента, поскольку вы просто переназначаете его; s значение каждой итерации цикла. Чтобы put элемент в карте, используйте put(Key, Value) или putAll() методы вместо

0

В Java, вы должны использовать hashMap.put (ключ, значение), чтобы добавить новый элемент в хэш-карте. В вашем коде вы писали HashMap t = new HashMap(); t = county.getProperties(); поэтому вы сопоставляете значение, которое на самом деле было переназначено в страну.

Смежные вопросы