2015-10-07 54 views
1

比方说,我有以下数据结构是这样的:编辑值

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

,看起来是这样的:

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

如何我可以为每个家庭的每种食物的每种颜色优雅地插入“红色”颜色吗?

+0

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

回答

2

你可以这样说:

for (List<LinkedHashMap> list : foodFamilies.values()) 
    for (LinkedHashMap map : list) 
     map.put("Color", "red"); 

顺便说一句,你不应该使用原始类型LinkedHashMap。它应该是LinkedHashMap<String, String>(我认为)。

我也认为你应该使用两个字段namecolor而不是Map