J'ai une carte de hachage et j'essaie de convertir les clés en liste. Voici le code:
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);
}
}
Quand j'essaye de faire
List<ARecord> finalRecs = new ArrayList<ARecord>(uniqueRecs.keySet());
L'erreur:
Le constructeur ArrayList (Set) n'est pas défini ".
Comment puis-je convertir des clés Hashmap en List<ARecord>
finalRecs?
Votre uniqueRecs
a le type String
de la clé. Tu dois faire:
List<String> keys = new ArrayList<>(uniqueRecs.keySet());
ou
List<ARecord> values = new ArrayList<>(uniqueRecs.values());
Ce qui a fonctionné pour moi que je voulais modifier une liste existante était:
list.addAll(map.keySet());
Les éléments suivants fonctionnent sous Java 1.7 et 1.8:
List<ARecord> finalRecs = new ArrayList<ARecord>();
for (final String key : uniqueRecs.keySet()) {
finalRec.add(new ARecord() {
public String gettld() {
return key;
}
});
}