ハッシュマップがあり、キーをリストに変換しようとしています。コードは次のとおりです。
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)は未定義です」。
ハッシュマップキーを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;
}
});
}