我有一个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。 –