У меня есть цикл for из JSONarray
, и я добавляю значения в 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. Я показываю в каждой строке пару ключ/значение благодаря связаннойhashmap. Некоторые значения в массиве идентичны, и я хочу отобразить только один из них в представлении списка. – Xavier
Вы имеете в виду, что 'itemList.add (map)' не следует делать, если эквивалентная карта уже добавлена? Затем объявите itemList как набор. –