Java 编辑数组列表中LinkedHashMap中的键的值,该数组列表为’;在另一个LinkedHashMap中

Java 编辑数组列表中LinkedHashMap中的键的值,该数组列表为’;在另一个LinkedHashMap中,java,arraylist,linkedhashmap,Java,Arraylist,Linkedhashmap,假设我有如下这样的数据结构: LinkedHashMap<String, ArrayList<LinkedHashMap>> foodFamilies = new LinkedHashMap<>(); {Fruit = [{Name = Apple, Color = }, {Name = Cherry, Color = }], Vegetables = [{Name = Beet,

假设我有如下这样的数据结构:

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");
for(列表:foodFamilies.values())
用于(LinkedHashMap映射:列表)
地图。放置(“颜色”、“红色”);
顺便说一下,您不应该使用原始类型
LinkedHashMap
。它应该是一个
LinkedHashMap
(我想)


我还认为您应该使用一个包含两个字段
name
color
的类,而不是一个
Map

重构以使用
Food
类,然后使用流或Groovy闭包迭代器?