美文网首页
java中的比较器

java中的比较器

作者: 霍运浩 | 来源:发表于2019-04-19 20:48 被阅读0次

java中的比较器

代码实现

import java.util.Arrays;
import java.util.Comparator;

/**
 * 比较器   java 比较器
 * @author Administrator
 *
 */
public class Code_09_Comparator {

    public static class Student {
        public String name; 
        public int id;
        public int age;

        public Student(String name, int id, int age) {
            this.name = name;
            this.id = id;
            this.age = age;
        }
    }

    public static class IdAscendingComparator implements Comparator<Student> {

        @Override
        public int compare(Student o1, Student o2) {
            return o1.id - o2.id;
        }

    }

    public static class IdDescendingComparator implements Comparator<Student> {

        @Override
        public int compare(Student o1, Student o2) {
            return o2.id - o1.id;
        }

    }

    public static class AgeAscendingComparator implements Comparator<Student> {

        @Override
        public int compare(Student o1, Student o2) {
            return o1.age - o2.age;
        }

    }

    public static class AgeDescendingComparator implements Comparator<Student> {

        @Override
        public int compare(Student o1, Student o2) {
            return o2.age - o1.age;
        }

    }

    public static void printStudents(Student[] students) {
        for (Student student : students) {
            System.out.println("Name : " + student.name + ", Id : " + student.id + ", Age : " + student.age);
        }
        System.out.println("===========================");
    }

    public static void main(String[] args) {
        Student student1 = new Student("A", 1, 23);
        Student student2 = new Student("B", 2, 21);
        Student student3 = new Student("C", 3, 22);

        Student[] students = new Student[] { student3, student2, student1 };
        printStudents(students);
        //调用系统函数进行排序
        Arrays.sort(students, new IdAscendingComparator());
        printStudents(students);

        Arrays.sort(students, new IdDescendingComparator());
        printStudents(students);

        Arrays.sort(students, new AgeAscendingComparator());
        printStudents(students);

        Arrays.sort(students, new AgeDescendingComparator());
        printStudents(students);

    }

}

相关文章

  • java中的比较器

    java中的比较器 代码实现

  • Java比较器

    导语 本节内容,比较器Comparable是核心内容。 主要内容 重新认识Arrays类 两种比较器的使用 具体内...

  • Java比较器

    1.自然比较接口:Comparableimage.png 代码举例: 2.定制比较接口:Comparator 注:...

  • JAVA比较器

    Java中的对象,正常情况下,只能进行比较:== 或 != 。不能使用 > 或 < 的。但是在开发场景中,我们...

  • Java 比较器 和 包装类

    Java比较器 背景: 在Java中经常会涉及到多个对象的排序问题,那么就涉及到对象之间的比较 Java中的对象,...

  • 第二章 Java与Kotlin的写法比较

    3 Java与Kotlin的写法比较 3.1 构造器、变量、常量和静态数据 3.1.1 构造函数 java中的构造...

  • java的比较器小结

    摘要 java的比较器分两种,也即是内外比较器,内部比较器是comparable接口,外部比较器是comparat...

  • Java 比较器实战

    1 需求 一个项目,展示监控数据列表,数据来源于接口,不需要分页,目前可时长排序: 客户希望可先对【状态】分组,然...

  • Java对象比较器

  • java比较器详解

    Java比较器 内部比较器: 实现comparable接口, 需要重写comparato方法 ps:写在创建类的内...

网友评论

      本文标题:java中的比较器

      本文链接:https://www.haomeiwen.com/subject/cnocgqtx.html