我有一個JSONarray
的for循環,我將這些值添加到LinkedHashMap
。我想避免添加相同的值。我不知道該怎麼做。比較LinkedHashMap中的兩個值,以避免添加相同的值
for (int l = 0; l <stops_summaries2.length(); l++){
JSONObject stopObject2 = stops_summaries2.getJSONObject(l);
String stopid2 = stopObject2.getString("id");
System.out.println("stopid2 --->" + stopid2);
String stopurl2 = stopObject2.getString("url");
System.out.println("stopurl2 --->" + stopurl2);
String stopname2 = stopObject2.getString("name");
System.out.println("stopname2 --->" + stopname2);
LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>();
map.put(TAG_NAME, stopname2);
map.put(TAG_SHORT, id);
map.put(TAG_COLOR, stopid2);
itemList.add(map);
}
但是HashMap中的所有鍵都是唯一的。如果你用現有的鍵來放置某些東西,舊值將會被新值覆蓋。你想避免這種情況嗎? – nikis
這是在android中的列表視圖。由於鏈接的星圖,我在每行顯示一個鍵/值對。數組中的某些值是相同的,我只想在列表視圖中顯示其中的一個值。 – Xavier
你的意思是說'itemList.add(map)'不應該完成,如果已經添加了一個等效的地圖?然後將itemList聲明爲Set。 –