A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 卢乾荣 中级黑马   /  2015-4-3 23:11  /  1086 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在TreeSet集合中它的比较方式是用二叉树的数据结构来决定的,我想问下TreeSet集合中是不是也有HashCode()方法,是不是也需要重写啊

6 个回复

倒序浏览
TreeSet没有hashCode()方法,不过其父类中有,可以继承。一般不需要重写,因为TreeSet是二叉树结构,它判断元素是否相同依赖的是compareTo()方法,返回值为0即为相同。
回复 使用道具 举报
当要用到hashCode(),和equals()这两个方法时,需要重写,比如说我们不仅把它放入TreeSet,还要把它放入hashSet的时候,但是单纯的放入TreeSet集合不需要重写
回复 使用道具 举报
不需要的,因为Treeset是红黑树结构,它只是基于比较函数来构建树的结构。 是否重写函数你要根据他底层数据结构的运算存储方式来的。
回复 使用道具 举报
Thank You ,明白了
回复 使用道具 举报
不一定。。按照实际情况
回复 使用道具 举报
不需要,他依靠的是元素自然排序(元素自身具有比较性)或者让集合具有比较性,和hashcode没关系
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马