Мы работаем над проектом, и одна из вещей, которые нам нужно сделать, это показать, во сколько разных местах появился MAC-адрес. Мы используем RedisGraph для запроса информации, и я использовал хэш-карту дляполучить данные.Моя проблема заключается в том, что в ответе json мне будет указан mac-адрес несколько раз, три раза с одним и тем же местоположением и один раз с другим.Я хочу получить ответ JSON, который показывает, что MAC-адрес с количеством мест 2, поэтому он учитывает только разные места.Любая помощь высоко ценится и ниже мой код.
ResultSet resultSet = api.query(GET_COUNT_OF_LOCATIONS_FOR_DEVICE);
JSONArray finalResult = new JSONArray();
JSONArray jsonArray = new JSONArray();
try {
while (resultSet.hasNext()) {
JSONObject joined = new JSONObject();
Map<String, String> mac = new HashMap<String, String>();
Map<String, String> location = new HashMap<String, String>();
Map<String, String> location_count = new HashMap<String, String>();
Record record = resultSet.next();
mac.put("mac_address", record.getString("m.address"));
location.put("location", record.getString("l.lo"));
location_count.put("location_count", record.getString("l.lo"));
joined.put("mac_address", mac.values().stream().map(i -> i).collect(Collectors.toSet()));
joined.put("location", location.values().stream().map(i -> i).collect(Collectors.toSet()));
joined.put("location_count", location.values().stream().map(i -> i).collect(Collectors.toSet()).size());
jsonArray.put(joined);
}
} catch (Exception e) {
e.printStackTrace();
}
finalResult.put(jsonArray);
return finalResult;
}