我在支付網關公司工作,同時分析了我遇到的代碼 ImmuatbleMap對象。我想知道所有的細節。它是什麼? 它在地圖上有什麼優勢?核心java是否支持ImmuatbleMap?地圖和ImmutableMap之間的區別
0
A
回答
2
ImmutableMap
s在Guava中引入,它們符合Java的Map
API,但有額外的保證。
一言以蔽之:
- 你不能添加,替換或刪除條目
- 他們是「完全不可變的,」如果進入對象不具有可變的狀態
- 作爲一個後果,他們是線程安全
null
s的禁止- (略)更多的時間和空間效率比起通常的Java的集合
- 迭代順序是可以預見的
有關完整信息見Guava's guide和javadoc for ImmutableCollection
它適用於地圖和其他番石榴的不可變的集合。
相關問題
- 1. 地圖和字典之間的區別
- 2. 谷歌地圖地圖API和Google地圖時區API之間的區別
- 3. 快速地圖和傳統地圖之間的區別
- 4. 兩張地圖之間的區別
- 5. 此和基地之間的區別
- 6. 地標和註釋之間的區別
- 7. 圖層和圖案之間的區別
- 8. (本地),'。'之間有區別嗎?和localhost?
- 9. 1D和ND繪圖之間的區別
- 10. StateChart和活動圖之間的區別
- 11. 視圖和tableViewControllers之間的UIBarButton區別?
- 12. cpu和GPU之間的區別(圖形)
- 13. 圖形和Graphics2D之間的區別?
- 14. 圖書館和API之間的區別
- 15. 之間的〜/和的區別../
- 16. '#','%'和'$'之間的區別
- 17. {!!之間的區別!!}和{{}}
- 18. '+ ='和'= +'之間的區別?
- 19. 「。+」和「。+?」之間的區別
- 20. .eq之間的區別。和==
- 21. #。/和#之間的區別。 ./
- 22. !=和!之間的區別==
- 23. 「%〜dp0」和「。\」之間的區別?
- 24. | =和^ = css之間的區別
- 25. 之間的區別。和#
- 26. ==和case之間的區別?
- 27. 「**/* /」和「** /」之間的區別?
- 28. jQuery - '。'之間的區別和「#」
- 29. 「?1」和「?」之間的區別
- 30. `%in%`和`==`之間的區別
可能重複[什麼是不可變的?](http://stackoverflow.com/questions/279507/what-is-meant-by-immutable) –
你讀過這個https://github.com/ google/guava/wiki/ImmutableCollectionsExplained?我認爲你的問題在這裏受到過寬泛的處理。 – RubioRic
嘗試此鏈接http://stackoverflow.com/questions/8892350/immutable-vs-unmodifiable-collection –