map和ImmutableMap之间的区别

时间:2017-03-17 10:43:05

标签: java dictionary collections guava

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

1 个答案:

答案 0 :(得分:3)

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

简而言之:

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

有关完整信息,请参阅适用于地图和其他Guava不可变集合的Guava's guidejavadoc for ImmutableCollection