【问题标题】:Does a collection which is retrieved from map.values() method preserve insertion order? [duplicate]从 map.values() 方法检索的集合是否保留插入顺序? [复制]
【发布时间】:2014-12-17 15:18:29
【问题描述】:

我有一个LinkedHashMap 的实例。 LinkedHashMap 保留插入顺序。我需要获取这张地图的值,并且我需要它们的顺序相同。所以如果我在这个LinkedHashMap 上调用values() 方法, 我从values() 方法检索到的Collection 将保证插入顺序?

【问题讨论】:

  • 我认为是的。您可以快速验证。
  • 答案是肯定的,可以在这里看到[在此处输入链接描述][1] [1]:stackoverflow.com/a/2889800/3584765
  • 请注意,证明特定实现保留了顺序并回答了这个问题。这真是一个关于 API 定义的问题。
  • @Duncan 我误读了我的错 -> 没有完全重复
  • @KPJ 如果在对集合进行迭代时修改了映射(通过迭代器自己的删除操作除外),则迭代的结果是不确定的。

标签: java collections map linkedhashmap insertion-order


【解决方案1】:

是的,在LinkedHashMap 的源代码中有一个内部类LinkedValues,它保持顺序。 values() 返回此类的一个对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-23
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多