我在支付网关公司工作,在分析我遇到的代码时
ImmutableMap 对象。我想知道有关的所有细节。它是什么?
与地图相比有什么优势? core java 支持 ImmuatbleMap 吗?
ImmutableMap
s是在Guava中引入的,它们符合Java的Map
API,但有额外的保证。
简而言之:
- you cannot add, replace or remove entries
- 如果条目对象没有可变状态,那么它们是“完全不可变的”
- 因此,它们是线程安全的
-
null
是被禁止的
- 与通常的 Java 集合相比,(稍微)更节省时间和空间
- 迭代顺序是可预测的
完整信息请参见番石榴的指南 https://github.com/google/guava/wiki/ImmutableCollectionsExplained#why and javadoc 为ImmutableCollection http://google.github.io/guava/releases/21.0/api/docs/com/google/common/collect/ImmutableCollection.html这适用于地图和其他 Guava 的不可变集合。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)