TreeMap的不可修改视图是否保留密钥顺序



假设我有一个TreeMap<Long,Long> map。我需要从getter中查看不可修改的版本,所以我返回return Collections.unmodifiableMap(map);Map<Long,Long>

然而,我需要它以与TreeMap<Long,Long>时相同的密钥顺序返回。我能保证在所有情况下,当从TreeMap创建时,在这个不可修改的Map中密钥的顺序都是相同的吗?

这是一种观点。底层数据结构与相同。

不可修改的映射只是原始映射的包装器,当调用赋值函数时抛出异常,所有其他方法都是源映射的有效代理。

值得注意的是,尽管视图是不可修改的,但子图仍然可以发生突变,这些突变将反映在视图中。如果开发人员认为不可修改的映射是原始映射的不可变副本,而不是简单的不可修改视图,则可能会引入Bug

最新更新