1.回顾以前数据结构的知识,所有排序算法的基本操作是什么?这个基本操作和Comparable接口又有什么关系?这个基本操作得到的结果有哪几种?
所有排序算法的基本操作是比较跟移动
排序算法的基本操作就是Comparable接口,Comparable实现了对它的每一个类的对象进行排序
结果有大于,等于,小于,依次返回值为正整数,零,负整数。
2.详细描述:为什么某个类实现了Comparable接口,就可以对该类的集合(如数组、ArrayList)使用Arrays.sort进行排序?Comparator接口相较于Comparable接口有什么优势?
Arrays.sort方法规定了数组中的所有元素都必须实现Comparable接口,只要让需要排序的对象所属的类实现Comparable接口,将Comparable接口中的compareTo()方法覆盖,就可以使用Arrays.sort对该类型的数组按照覆盖的compareTo()进行排序
Comparator可以对类中所有属性进行一个逻辑排序,Comparable只能对某个类中的某个属性排序
3.你觉得为什么有了抽象类还需要接口?接口相较于继承有什么不同,体现了什么关系?
接口是一种行为规范,是让不同的类有相同的行为。抽象类是类方法的复用,为了让代码简单易懂,提高效率
类可以实现多个接口,但是只能继承一个抽象类。某个接口被类实现时,在该类中一定要实现接口中的某个方法,而继承抽象类想要用哪个方法就直接覆盖。