【问题标题】:How to Replace the value in particular key in LinkedHashMap如何替换 LinkedHashMap 中特定键的值
【发布时间】:2015-02-26 15:28:59
【问题描述】:

我想替换 LinkedHashMap 中特定键的值。

例如 初始条件..

"key1" -> "value1"
"key2" -> "value2"
"key3" -> "value3"
"key4" -> "value4"
"key5" -> "value5"

我想要预期的结果...

"key1" -> "value1"
"key2" -> "value8"
"key3" -> "value3"
"key4" -> "value6"
"key5" -> "value5"

【问题讨论】:

    标签: java android collections


    【解决方案1】:

    您为该键设置了一个新值:

    map.put("key2","value8");
    map.put("key4","value6");
    

    请注意,对于 LinkedHashMap,更改现有键的值不会更改 Map 的迭代顺序(即键首次插入 Map 的顺序)。

    【讨论】:

    • 其实你可以选择LinkedHashMap是按插入顺序还是按访问顺序迭代
    • @lbalazscs 哦,你是对的。插入顺序是默认值,但有一个构造函数允许您覆盖此默认值。
    【解决方案2】:

    在 Map(LinkedHashMap) 中,键是唯一值。因此,每当您尝试为键设置值时,它都会在映射中添加新条目,或者如果键已经存在,那么它将用新值替换该键的旧值。

    map.put("existing key", "new value");
    

    以上代码会将映射中existing key 的值替换为new value

    【讨论】:

      【解决方案3】:

      检查密钥是否存在的正确方法:

        if (map.containsKey(key)) {
            map.put("existing key", "newValue");
        }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-01
        • 2011-01-07
        • 2012-01-02
        • 1970-01-01
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多