【发布时间】:2016-05-19 23:02:02
【问题描述】:
我读了here:
不可变对象是很好的 Map 键和 Set 元素,因为这些 通常一旦创建就不会更改。
【问题讨论】:
-
Map 和 set 实现通常使用元素的状态来存储它们。如果该状态发生变化,您之后将很难/不可能重新定位它们。对于不可变对象,这是不可能的。
-
其他语言甚至强制要求它们的 Map 键和 Set 元素的等价物是不可变的。例如,C++
std::map和std::unordered_map键是const -
@SotiriosDelimanolis 状态,你的意思是对象的数据(实例字段),对吧?
-
是的,我就是这个意思。
标签: java dictionary collections set immutability