Ответ 1
Ваш uniqueRecs
имеет String
тип ключа. Ты должен сделать:
List<String> keys = new ArrayList<>(uniqueRecs.keySet());
или же
List<ARecord> values = new ArrayList<>(uniqueRecs.values());
У меня есть хэш-карта, и я пытаюсь преобразовать ключи в список. Вот код:
List<ARecord> recs = new ArrayList<ARecord>();
HashMap<String, ARecord> uniqueRecs = new HashMap<String, ARecord>();
for(ARecord records:recs){
if(!uniqueRecs.containsKey(records.getId())){
uniqueRecs.put(records.getId(), records);
}
}
Когда я пытаюсь сделать
List<ARecord> finalRecs = new ArrayList<ARecord>(uniqueRecs.keySet());
Ошибка:
Конструктор ArrayList (Set) не определен ".
Как я могу преобразовать ключи Hashmap в List<ARecord>
finalRecs?
Ваш uniqueRecs
имеет String
тип ключа. Ты должен сделать:
List<String> keys = new ArrayList<>(uniqueRecs.keySet());
или же
List<ARecord> values = new ArrayList<>(uniqueRecs.values());
Что работало для меня, что я хотел изменить существующий список:
list.addAll(map.keySet());
В Java 1.7 и 1.8 работает следующее:
List<ARecord> finalRecs = new ArrayList<ARecord>();
for (final String key : uniqueRecs.keySet()) {
finalRec.add(new ARecord() {
public String gettld() {
return key;
}
});
}