小编典典

不可变与不可修改的集合

all

集合框架概述

不支持修改操作(例如 和 )的集合add称为remove不可clear修改 。非不可修改的集合是 可修改 的。

额外保证Collection对象中没有任何更改可见的集合称为 不可变 集合。不可变的集合是 可变 的。

我无法理解这种区别。 这里不可修改不可变
有什么区别? ____


阅读 104

收藏
2022-07-06

共1个答案

小编典典

不可修改的集合通常是 其他代码可能仍然可以访问 的可修改集合的包装器。因此,如果
只有对不可修改集合的引用,则无法对其进行任何更改,但您不能依赖不更改的内容。

不可 集合保证 没有任何东西
可以改变集合。如果它包装了一个可修改的集合,它确保没有其他代码可以访问该可修改的集合。请注意,尽管没有代码可以更改集合包含对哪些对象的引用,但对象本身可能仍然是可变的——创建一个不可变的集合StringBuilder并不会以某种方式“冻结”这些对象。

基本上,区别在于其他代码是否能够更改您背后的集合。

2022-07-06