我假設由於集合中的不可修改方法返回底層集合的視圖或外觀。這似乎是不言而喻的,unmodifiableList
將使用基礎列表的順序和unmodfiableSet
可以自由地做任何事情,因爲沒有排序。Java Collections.unmodifiableCollection是否保留底層集合的順序?
我使用的是一個LinkedHashSet
這是一個集合,但確實保留了排序,並且試圖公開一個保留基礎排序的集合的不可修改視圖。使用unmodifiableSet
似乎不合適,但我不能使用unmodifiableList
。我無法找到保證,unmodifiableCollection
將使用任何排序在底層集合,雖然我懷疑它會。
任何人都可以指出我定義這種行爲的規範還是與之矛盾?
在這種情況下爲一組作爲對象的構造過程中創建的,我可以用番石榴UnmodifiableSet而不是進一步調查該集合保留插入順序是由「後來的」重複條目的影響。但是,這隻涵蓋了我在施工期間創建集合並且從未更新過的特定情況。 – JustifiedAndAncient