Java map和ImmutableMap的区别

Java map和ImmutableMap的区别,java,dictionary,collections,guava,Java,Dictionary,Collections,Guava,我在支付网关公司工作,在分析我遇到的代码时 ImmuatbleMap对象。我想知道所有的细节。这是怎么一回事? 它比地图有什么优势?core java是否支持ImmuatbleMap?ImmutableMaps是在Guava中引入的,它们符合java的MapAPI,但有额外的保证 简言之: 您不能添加、替换或删除条目 如果条目对象没有可变状态,则它们是“完全不可变的” 因此,它们是线程安全的 nulls被禁止 与普通Java的集合相比(稍微)更节省时间和空间 迭代顺序是可预测的 有关完整

我在支付网关公司工作,在分析我遇到的代码时 ImmuatbleMap对象。我想知道所有的细节。这是怎么一回事?
它比地图有什么优势?core java是否支持ImmuatbleMap?

ImmutableMap
s是在Guava中引入的,它们符合java的
Map
API,但有额外的保证

简言之:

  • 您不能添加、替换或删除条目
    • 如果条目对象没有可变状态,则它们是“完全不可变的”
    • 因此,它们是线程安全的
  • null
    s被禁止
  • 与普通Java的集合相比(稍微)更节省时间和空间
  • 迭代顺序是可预测的

有关完整信息,请参阅适用于地图和其他番石榴不可变系列的和。

可能重复的。您读过吗?我认为你的问题太宽泛了,不能在这里讨论。试试这个链接
Map
ImmutableMap
之间的主要区别在于前者是一个接口,后者是一个具体的实现。@AndyTurner实际上
ImmutableMap
是一个带有附加契约的抽象类(不变性保证),具体的实现是隐藏的。您可以添加一个链接,其中还提到“节省时间和空间”。