1.3 课前问题列表
1.回顾以前数据结构的知识,所有排序算法的基本操作是什么?这个基本操作和Comparable接口又有什么关系?这个基本操作得到的结果有哪几种?
排序算法的基本操作是比较和交换。实现Comparable接口的类需要定义compareTo方法,这个方法用来比较两个对象的大小。比较操作的结果通常有三种,x小于大于和等于。
2.详细描述:为什么某个类实现了Comparable接口,就可以对该类的集合(如数组、ArrayList)使用Arrays.sort进行排序?Comparator接口相较于Comparable接口有什么优势?
应为它定义了自己的自然排序规则。这是因为Comparable接口要求实现compareTo方法,这个方法定义了如何比较两个对象的大小。Comparator接口提供了一个更灵活的方式来定义排序规则,所以可以为任何类型的对象定义排序规则,而不仅仅是自己的类。
3.你觉得为什么有了抽象类还需要接口?接口相较于继承有什么不同,体现了什么关系?
一个类可以实现多个接口,但只能继承自一个抽象类。这使得接口更适合于定义一组行为,而抽象类更适合于定义一个类的基本行为和属性。
接口更适合于定义一组行为和常量,而抽象类更适合于定义一个类的基本行为和属性,并提供一些具体的实现细节。