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闭包迭代器?