Java数据结构学习

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值可能不等,那它们就根本没有比较的机会。


待续...


Java数据结构学习,布布扣,bubuko.com

Java数据结构学习

上一篇:python实现批量文件内容替换


下一篇:构建故障分析平台采用python实现抓包分析数据包