【问题标题】:Edit Value of a Key in a LinkedHashMap inside an ArrayList that’s inside another LinkedHashMap在另一个 LinkedHashMap 中的 ArrayList 中编辑 LinkedHashMap 中键的值
【发布时间】:2015-10-07 00:46:25
【问题描述】:

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

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

看起来像这样:

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

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

【问题讨论】:

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

标签: java arraylist linkedhashmap


【解决方案1】:

你可以这样做:

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

顺便说一句,你不应该使用原始类型LinkedHashMap。应该是LinkedHashMap&lt;String, String&gt;(我想)。

我还认为您应该使用具有两个字段 namecolor 的类,而不是 Map

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 2012-03-24
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多