【发布时间】:2011-04-18 03:59:32
【问题描述】:
我需要结合使用 Google Collection ImmutableMap 和 LinkedHashMap — 具有已定义迭代顺序的不可变映射。看来 ImmutableMap 本身其实已经定义了迭代顺序,至少its documentation says:
一个不可变的、基于散列的 Map,具有可靠的用户指定的迭代顺序。
但是没有更多细节。快速测试表明这可能是真的,但我想确定一下。
我的问题是:我可以依赖 ImmutableMap 的迭代顺序吗?如果我做ImmutableMap.copyOf(linkedHashMap),它的迭代顺序是否与原始链接哈希图相同?由builder创建的不可变地图呢?一些权威答案的链接会有所帮助,因为谷歌没有发现任何有用的东西。 (不,源链接不算在内)。
【问题讨论】:
-
我相信 Collections 现在已经被折叠到 Guava 库中了。但是 ImmutableMap 的文档是一样的。