我想在番石榴庫中找到類似ImmutableLinkedHashMap<>
的東西。 我需要使用帶有插入順序的不可變鍵值數據結構。 那麼,我該用什麼?我需要一個不變的鍵值結構,保留插入順序
回答
我不知道我的理解正是你所追求的,但如果它確實是一個不可改變的Map
,你mght想看看ImmutableMap
如文檔中提到:
的不可變,基於散列的
Map
,具有可靠的用戶指定迭代次序。不允許空鍵或值。不同於
Collections.unmodifiableMap(java.util.Map<? extends K, ? extends V>)
,這是一個單獨的地圖,其仍然可以改變的視圖,的ImmutableMap
實例包含它自己的數據,並永遠不會改變。ImmutableMap
方便public static final
地圖(「恆圖」),也可以讓你輕鬆地通過呼叫者
例如使提供給你的類地圖的「防禦性複製」,可以以類似的方式使用它:
Map<Integer, String> m = ImmutableMap.of(5,"Five",6,"Six",7,"Seven");
希望這是你以後的樣子。
是的,我只是想說這一點。 'ImmutableMap'看起來應該起作用。 – 808sound 2013-02-20 15:00:57
這個問題是'ImmutableSortedMap'擴展了'ImmutableMap',所以如果你有這個方法的客戶端,你不能通過類型強制執行插入順序維護。 – 2016-01-13 16:57:46
首先創建一個LinkedHashMap
,然後使用ImmutableMap.copyOf(linkedHashMap)
創建一個不變的副本,它具有與原始地圖相同的順序。
爲什麼要麻煩? ImmutableMap已經使用插入順序。 – 2013-02-21 16:25:03
- 1. ,保留插入順序
- 2. 需要保留一個CFSocketRef?
- 3. 我需要一些保留順序的XQuery序列合併的幫助
- 4. 來自LinkedHashMap的集合(值)是否保留了插入順序?
- 5. 證明Excel VBA Scripting.Dictionary不會保留項目插入的順序
- 6. 我需要一個統一多個插入的程序
- 7. MySQL表結構,我需要一個主鍵嗎?
- 8. OrderedDict不保留順序
- 9. 爲什麼我需要保留一個指向我的QWidget的變量?
- 10. collect_list通過保留基於另一個變量的順序
- 11. 傳入變量的值不保留
- 12. 有效的結構,其中保留一個散列鍵和值的集合
- 13. 需要找出誰保留一個NSMutableArray
- 14. 我是否需要將值插入到SQL中的外鍵?
- 15. 保留番石榴的插入順序SetMultimap
- 16. 保留插入順序的集合類型
- 17. 如何保留嵌套Perl哈希的插入順序?
- 18. 運行一堆異步任務,當某一執行順序需要保留
- 19. 更新特定鍵的JSON值,保留JSON結構
- 20. 爲什麼需要一個變量指向一個結構
- 21. 爲什麼我們需要SqlCeCommand.Parameters.AddWithValue()來插入一個值?
- 22. jQuery插件asmSelect不保留排序順序
- 23. 爲什麼NSString變量需要保留?
- 24. 保留數組的順序
- 25. 自適應地圖Scala中(或Java)保留插入順序
- 26. 使用boost multi_index_container來保留插入順序
- 27. 值需要保留添加到另一個表
- 28. 我一定要保留SEL
- 29. 將值保存到需要保留的首選項摘要
- 30. 在java中插入一個數字並保留它的排序
請參閱[程序包com.google.common.collect說明](http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/package-summary.html#package_description)和[在Guava wiki上的ImmutableCollectionsExplained](https://code.google.com/p/guava-libraries/wiki/ImmutableCollectionsExplained)。 – Xaerxess 2013-02-20 15:01:43
[Google Collections ImmutableMap迭代順序]的可能重複(http://stackoverflow.com/questions/3810738/google-collections-immutablemap-iteration-order) – Barett 2016-07-27 17:51:40