これを行う最もクリーンな方法は何でしょうか?複数のマップ<String,List>の構造体を同じ名前のキーで結合することで組み合わせる
私は
Map<String, List<String>> map1 = ...;
Map<String, List<String>> map2 = ...;
Map<String, List<String>> map3 = ...;
マップすべてが正確に同じキー、無重複する値を持っています。 map2とmap3のListをmap1のリストの最後にそれぞれのキーに追加したいと思います。
これは、私は現在、それをやろうとしています方法です:
Map<String, List<String>> conversions = new HashMap<String, List<String>>();
List<String> histList = new ArrayList<String>();
for(String key : map1.keySet()){
histList.addAll(map1.get(key));
histList.addAll(map2.get(key));
histList.addAll(map3.get(key));
conversions.put(key,histList);
}
ループ内で 'histList'を宣言して、毎回新しいリストを取得すると、コードが機能します。 –
@LouisWasserman良いキャッチ。ありがとう! – user101