gpt4 book ai didi

java - HashSet 和 Set 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 13:52:10 29 4
gpt4 key购买 nike

看到像

这样的代码片段
Set<Record> instances = new HashSet<Record>();

我想知道 Hashset 是否是一种特殊的集合。它们之间有什么区别吗?

最佳答案

Set 代表一个通用的“值集”。 TreeSet 是一个集合,其中元素被排序(并因此排序),一个 HashSet 是一个集合,其中元素 排序或排序.

HashSet 通常比 TreeSet 快很多。

TreeSet 通常实现为红黑树(参见 http://en.wikipedia.org/wiki/Red-black_tree - 我尚未验证 sun/oracle 的 TreeSet 的实际实现),而HashSet 使用 Object.hashCode() 在数组中创建索引。红黑树的访问时间是 O(log(n))HashSet 的访问时间范围从恒定时间到最坏情况(每个项目都有相同的 hashCode) 可以有一个线性搜索时间 O(n).

关于java - HashSet 和 Set 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5139724/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com