数组排序
comparable<T>
使用Comparable<父类名>
1.先将comparable导入
2.使用crtl+1创建比较方法
3.比较的逻辑运算(默认升序排列):当前的员工-另一个员工,进行两两比较
4.将员工的数据实力化,然后将比较的方法导入到主方法中,在将数组进行遍历
comparator<T>
1.先建立比较的class的文件
2.在class的文件中使用implement继承接口comparator
3.使用CETL+1创建比较的方法
4.将员工的工资进行比较,因为员工的工资是封装的,所以说要根据get函数来获取员工的工资
5.在主函数中进行collections导入比较方法,进行比较
6.打印出比较的的升序结果
import java.util.Comparator;
import Day12.Emp;
public class Myclass implements Comparator<Emp> {
@Override
public int compare(Emp arg0, Emp arg1) {
// TODO Auto-generated method stub
if(arg0.getSalary()>arg1.getSalary()) {
return -1;
}else {
return 1;
}
}
}
Collections.sort(list,new Myclass());
for(Emp e:list) {
System.out.println(e);
}
比较逻辑排序:
注意:系统默认的是升序排序,因此升序排列不需要加if判断语句,如果是降序排列需要使用降序排列
举例:当前的数字减去另外一个数字
通过if条件语句进行排序 当前数字减去另外一个数字
1.如果得到的返回值是一个负数的话,将会当前员工排在前面;
2.如果得到的返回值是一个正数的话,将会另一个员工排在前面