不可变对象是指无法更改状态的对象。它们在测试和调试方面比较容易,而且在并发编程中非常有用。然而,与可变的同类对象相比,当前实现的不可变集合性能较差。例如,将关联数组实现为不可变红黑树,平均插入/删除时间复杂度为O(log(n)),而哈希表平均插入/删除时间复杂度为O(1)。
通常情况下,不可变集合是否可以证明比可变集合效率低,或者我们是否会找到与可变集合一样快速的不可变实现?
不可变对象是指无法更改状态的对象。它们在测试和调试方面比较容易,而且在并发编程中非常有用。然而,与可变的同类对象相比,当前实现的不可变集合性能较差。例如,将关联数组实现为不可变红黑树,平均插入/删除时间复杂度为O(log(n)),而哈希表平均插入/删除时间复杂度为O(1)。
通常情况下,不可变集合是否可以证明比可变集合效率低,或者我们是否会找到与可变集合一样快速的不可变实现?