-1

每个人都知道根据哈希表的大小和元素的哈希码值HashSet将元素存储在桶中。

但是如何CopyOnWriteArraySet存储元素?我认为它会对这些存储桶进行快照并复制它们。好像没有。它是否将它们一一存储在“正常”数组中并检查equals()?它甚至使用散列原理吗?

4

1 回答 1

1

CopyOnWriteArraySet是一个Set-wrapper CopyOnWriteArrayList,它将其元素存储在一个数组中,因此它不使用散列。这就是为什么它没有 HashSet 的 O(1) 查找优势。

文档说它只适用于小型套装。

于 2020-08-22T12:38:06.677 回答