我需要Google集合ImmutableMapLinkedHashMap的组合-具有定义的迭代顺序的不可变 map 。看来ImmutableMap本身实际上已经定义了迭代顺序,至少是its documentation says:



但是,没有更多细节。快速测试表明这可能是正确的,但我想确定一下。

我的问题是:我可以依靠ImmutableMap的迭代顺序吗?如果我执行ImmutableMap.copyOf(linkedHashMap),它的迭代顺序是否与原始链接的哈希图相同? builder 创建的不可变 map 怎么样?某些指向权威​​性答案的链接会有所帮助,因为Google找不到有用的东西。 (不,不包括指向源的链接)。

最佳答案

更准确地说,ImmutableMap工厂方法和构建器将返回实例,这些实例遵循在构建 map 时提供的输入的迭代顺序。但是,ImmutableSortedMap是ImmutableMap的子类。对键进行排序。

10-06 12:03