你如何被修改,即避免添加和刪除其內容如何避免修改ArrayList對象,即避免添加和刪除其內容?
0
A
回答
4
通過了它創建一個不可修改的列表避免(Java)的一個ArrayList對象:
List<Object> dontModify = Collections.unmodifiableList(originalList);
2
這取決於具體要求:
Collections.unmodifiableList(arrayList)
爲您提供了原始列表的不可修改視圖 - 這可能是你所需要的- 番石榴的
ImmutableList
使一個列表是不可變的(而不是一個視圖)(你必須在ArrayList
元素複製到不可變列表)
4
你不給ArrayList
到任何你不信任 - 而不是,您可以使用Collections.unmodifiableList
在現有列表周圍創建一個不可變的包裝,並給出不可信的代碼。
請注意,這隻能在現有列表的周圍給出包裝 - 任何有權訪問原始列表的東西都可以修改它。如果你想創建一個完全不可變的列表,你可以使用專門的類(例如Guava中的ImmutableList
)或創建原始列表的副本,使用Collections.unmodifiableList
包裝該副本,並丟棄對可變列表的引用不可變的包裝器知道它)。
相關問題
- 1. 避免同時修改對象
- 2. 如何避免/刪除invalidcastexception
- 3. 避免刪除子對象 - 境界
- 4. 如何避免ArrayList中
- 5. 避免覆蓋ArrayList中的對象
- 6. 修改getter以避免NSNull
- 7. 避免或StgOpenStorage刪除鎖()
- 8. 避免獲取刪除NSManagedObjects
- 9. 避免jquery ajax刪除#
- 10. 避免重裝Ajax內容
- 11. C++避免刪除內存兩次
- 12. 如何避免刪除東西太多?
- 13. 如何刪除(避免)重點WPF
- 14. 如何避免內容刷新
- 15. 如何避免顯式解碼內容?
- 16. 如何避免Nokogiri編碼href內容?
- 17. 如何避免apache內容欺騙
- 18. 如何避免System.Xml.Linq.XElement轉義HTML內容?
- 19. 避免加入MS Access刪除查詢
- 20. 如何避免在改造
- 21. 避免刪除下劃線和數字
- 22. 如何避免
- 23. 如何避免
- 24. 如何避免
- 25. 如何避免
- 26. 如何避免
- 27. 如何避免內聯javascript?
- 28. 避免該值ArrayList中
- 29. Java ArrayList toArray避免複製
- 30. 的Java:避免在ArrayList中
是的,ImmutableList比Collections.unmodifiableList()更不可變。 –
@盧聲遠ShengyuanLu:但不是比'unmodifiableList'更不可變的,它包裝了一個沒有別的東西可以知道的列表。如果OP想要避免依賴番石榴,這是一個簡單的方法。 –
是的,我知道你的意思。 –