频道栏目
首页 > 资讯 > Java > 正文

Java数据结构学习

14-03-14        来源:[db:作者]  
收藏   我要投稿
Set
无序不重复,遍历只能使用迭代器或增强for循环(对java编译器而言,等价)。
1)hashSet:用hash表实现;
2)TreeSet:用排序二叉树实现;
当通过contains方法判断set集合中是否包含某个对象时,需要首先根据该对象的hashCode值索引到特定的空间,然后再和空间中的对象调用equals方法进行比较。这种针对性的查找方式不同于线性表的逐个比较,有较高的效率。
对于重写equals方法的对象,一般要妥善重写继承自object类的hashCode方法(),不然有可能值相等的两个对象,equals对比后,返回为false.如:
Point p1 = new Point(1,2);
Point p2 = new Point(1,2);

如果没有妥善写好hashCode方法,p1和p2的hashCode值可能不等,那它们就根本没有比较的机会。


待续...


相关TAG标签
上一篇:全排列算法之Perm算法实现
下一篇:复杂链表的复制
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站