参考链接
1 编程练习
对英文单词进行排序,效果图如下:
任务
1、 给list添加元素
2、 输出排序前list中的内容
3、对list中的元素进行排序
4、输出排序后list中的内容
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class StringSort { public static void main(String[] args) { //给list添加元素 //输出排序前list中的内容 //对list中的元素进行排序 //输出排序后list中的内容 } }
1. 单选题
下列说法中不正确的是:(选择一项 D)
A Comparator接口用于对自定义类进行整体排序
B Comparator接口可以将Comparator传递给sort方法
C int compare(T o1,T o2)比较用来排序的两个对象
D boolean equals(Object obj)指示对象obj是否是“等于”当前对象。此方法不可以被Object类中的equals方法覆盖
2 编程练习
定义一个学生信息类,包括学号,姓名,年龄三个成员变量,然后按名字进行升序排序。
(使用Comparator接口)
运行效果图:
任务
1、定义学生类Student,内容如下:
三个成员变量:学号、姓名、年龄
构造方法
getter和setter方法
重写toString()方法
2、定义测试类StudentTest,完成如下功能:
实现Comparator接口
在主方法中定义Student类的对象,并添加到列表中,进行排序,输出排序前和排序后的内容

1 public class Student { 2 //成员变量 3 4 5 //构造方法 6 7 8 //getter和setter方法 9 10 11 //toString()方法 12 } 13 //实现Comparator接口 14 public class StudentTest{ 15 16 //实现接口中的方法 17 18 19 public static void main(String[] args){ 20 //定义Student类的对象 21 22 23 //将对象添加到List中 24 25 26 //输出排序前的数据 27 28 29 //排序 30 31 32 //输出排序后的数据 33 34 }
2. 单选题
关于Comparable接口的说法,以下哪个是错误的?(选择一项B)
A Comparable位于java.lang包
B 调用sort方法时,需要指定Comparable接口的实现类
C Comparable接口的抽象方法是 int compareTo(T t)
D Comparable接口还可以用于数组的排序
编程练习
定义一个员工信息类,包括编号,姓名,工资三个成员变量,要求工资定义为float类型,
然后按工资进行降序排序。(使用Comparable接口)
运行效果图:
任务
1、定义员工信息类Employee,实现Comparable接口,内容如下:
三个成员变量:编号、姓名、工资
构造方法
getter和setter方法
重写toString()方法
2、定义测试类EmployeeTest,完成如下功能:
在主方法中定义3个Employee类的对象,并添加到列表中,进行排序,输出排序前和排序后

//实现Comparable接口 public class Employee { //成员变量 //构造方法 //getter和setter方法 //toString()方法 } public class EmployeeTest{ public static void main(String[] args){ //定义Employee类的对象 //将对象添加到List中 //输出排序前的数据 //排序 //输出排序后的数据 }
3. 多选题
下列关于接口Comparable和Comparator的说法正确的是(选择两项AB)
A 它们都是java的接口
B 都是用来对自定义的类进行大小比较
C Comparable接口在要比较的类的之外实现
D Comparator在定义要比较的类的同时实现