HashMapを値に持つHashMapの実装をしたので忘れないようにメモしておく。
Map<String, Map<String, Integer>> map = new HashMap<>();
map.put("果物", new HashMap<String, Integer>());
map.get("果物").put("みかん", 500);
map.get("果物").put("りんご", 300);
map.put("野菜", new HashMap<String, Integer>());
map.get("野菜").put("キャベツ", 200);
map.get("野菜").put("トマト", 100);
map.entrySet().stream()
.map(v -> v.getKey() + ":" + v.getValue())
.forEach(System.out::println)
// 出力結果
果物:{リンゴ=300, みかん=500}
野菜:{キャベツ=200, トマト=100}