从map.values()方法检索到的集合是否保留插入顺序?

4

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


我认为是的。你可以快速验证一下。 - pnv
答案是肯定的,可以在这里看到链接描述 - Eypros
1
请注意,展示特定实现保持顺序并不能回答这个问题。这实际上是关于 API 定义的问题。 - Raedwald
@Duncan,我看漏了,是我的错 -> 没有确切的重复。 - JBA
@KPJ 如果在对集合进行迭代时修改了映射(除非通过迭代器自己的删除操作),则迭代的结果是未定义的。 - Keshav Sharma
1个回答

3

是的,在LinkedHashMap的源代码中,存在一个内部类LinkedValues,它保留了顺序。通过values()返回这个类的对象。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接