拓胜第十八天

来源:互联网 发布:动漫视频网站php源码 编辑:程序博客网 时间:2024/04/28 09:32
先评讲之前接口的作业。
发现我并没有把接口看做一个类来看,接口的多态,当想调用一个接口
中的方法时,可以先instanceof  接口。
----

1、Set为什么放进去就打乱顺序?
Set的实现类:HashSet
HashSet 内部使用了Hash算法来放置元素,使用该算法可以快速地找到
对应的对象
Object 类有hashcode,原来类对象的存储里也是用到Hash算法
2、Set如何判断两个元素是否重复,调用equals 方法(可以重写
根据自己的实际需要)
equals 返回 true时hashCode() 返回不一致?合理吗?反过来,又
合理吗?
3、Set本身是无序的(并不是排序,只是插入顺序),
    Set体系下有没有一个数据结构是有序的?

linkedHashSet
-------
排序
Collections 集合的工具类中有各种排序的方法sort
特点:  1、只能对list排序,不能对Set排序
    2、sort方法只能对同种类型元素排序
    3、sort方法只能对实现了Comparable接口的对象进行排序
因为要自己实现compareTo方法去定制自己的排序规则
    4、
Arrays      数组的工具类中有各种排序的方法sort
--
Comparable 接口用来比较两个对象,实现了Comparable接口的对象可以排序,而实现该接口的排序称为 自然排序。实现该接口必须实现compareTo方法,该方法返回3种情况。
1、正数,表示大于2、0 ,表示等于3、负数,表示小于
Comparator 接口对没有实现Comparable接口的对象也可以进行排序
能够解决Comparable只能定义一种排序规则的缺点。
------
TreeSet,添加元素自动排序,是树结构。

SortSet,

----------------------

晚上完成了跳表算法。。。

0 0
原创粉丝点击