Java中不可修改的NavigableSet/NavigableMap?

Gre*_*tes 15 java collections guava

java.util.Collections有几种unmodifiable方法通过在装饰器中包装禁止变异操作的集合来提供不可修改的集合视图.

Java 6增加了对java.util.NavigableSet和的支持java.util.NavigableMap.

我希望能有不可修改的NavigableSetS和NavigableMapS,但java.util.Collections#unmodifiableSortedSet(SortedSet)java.util.Collections#unmodifiableSortedMap(SortedMap)是不够的,因为他们不支持,尤其适用于操作NavigableSetNavigableMap.

是否有事实上的实现为unmodifiableNavigableSetunmodifiableNavigableMap

Oli*_*oux 12

Guava现在提供(自2012年4月30日发布的12.0版本以来)Maps.unmodifiableNavigableMapSets.unmodifiableNavigableSet.

  • 一定要看看@ JodaStephen的Java 8答案! (2认同)

Jod*_*hen 7

Java SE 8包含这两种方法.

Javadoc.