黑马程序员技术交流社区

标题: HashSet的元素排序底层是怎样的 [打印本页]

作者: 我就是那匹黑黑    时间: 2016-9-21 22:59
标题: HashSet的元素排序底层是怎样的
HashSet的元素排序底层是怎样的
作者: zjy9399    时间: 2016-9-22 01:12
底层是哈希表结构。哈希表也是数组机制,数组中也存放对象,而这些对象往数组中存放时的位置比较特殊,当需要把这些对象存放到数组时,会根据这些对象的特有数据结合相应的算法,计算出对象在数组中的位置,然后把对象存放到数组中。
实现名词解释:
当向哈希表存放元素时,需要根据元素的特有数据结合hashCode的算法算出对象在表中的存放位置。但如果算出两个对象的位置一样(也叫哈希冲突),这时会调用对象的equals方法进行比较这两个对象是不是同一个对象,如果比较是ture就不会把第二个对象存放到哈希表中,如果比较是false,就会把这个值存到哈希表中
作者: 疯狂的麦克斯    时间: 2016-9-22 01:54
他能排序吗??,不能把list的实现类才可以吧
作者: Array先生    时间: 2016-9-22 08:36
数组加双链表,我听老师提过这么一句
作者: qiuyou    时间: 2016-9-22 15:24
不要搞混乱了,HashSet没有排序吧,想排序就用TreeSet,当然LinkedHashSet就可以保证怎么存就怎么取




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2