编辑LinkedHashMap中另一个LinkedHashMap中的ArrayList中的键值



假设我有如下数据结构:

LinkedHashMap<String, ArrayList<LinkedHashMap>> foodFamilies = new LinkedHashMap<>(); 

看起来像这样:

{Fruit = [{Name = Apple, 
           Color = }, 
          {Name = Cherry, 
           Color = }], 
 Vegetables = [{Name = Beet,
                Color = }]}

我如何才能优雅地为每个家庭的每种食物的每种颜色插入"红色"?

你可以这样做:

for (List<LinkedHashMap> list : foodFamilies.values())
    for (LinkedHashMap map : list)
        map.put("Color", "red");
顺便说一下,您不应该使用原始类型LinkedHashMap。应该是LinkedHashMap<String, String>(我认为)。

我也认为你应该使用一个类与两个字段namecolor而不是Map无论如何。

最新更新