黑马程序员技术交流社区
标题:
关于Set集合存放对象元素的问题
[打印本页]
作者:
Mr.Hao
时间:
2014-6-25 16:27
标题:
关于Set集合存放对象元素的问题
学到了Set集合,大家都知道这个集合是不允许重复元素存在的,所以不管是自己编写的类还是存String之类的类的对象,都会比较hashcode以及equals等,那么我想知道我存放新元素的时候都会和已经存放进去的每个元素都比较么,那样的话不就是越存越慢,存的越多,比较的时间就越长,是这样的比较机制么?
作者:
执笔梦
时间:
2014-6-25 18:18
不是的,我记得HaseSet内部会根据你的hashcode进行计算,然后区域划分,也就是说即使哈希码不同,他们也可能被划分在同一个区域,你储存一个元素时,根据你的hashcode到指定的区域比较。不会全部都比较的.
作者:
唐坚
时间:
2014-6-25 18:26
首先比较的是hashcode值。若hashcode值相同在去比较对象的地址值是否相同。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2