二维数组排序

2018-12-10  本文已影响0人  坏坏坏坏坏

数组排序

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.如果得到的返回值是一个正数的话,将会另一个员工排在前面

上一篇下一篇

猜你喜欢

热点阅读