Java中Comparator比较器的使用

Posted 橘子橘子橘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中Comparator比较器的使用相关的知识,希望对你有一定的参考价值。

说几点需要注意的,提醒自己即可:
以下是单独定义一个比较器的类,实现了Comparator中的compare方法。(要在Main方法外面定义类噢)
一定是compare而不是Compare哦

package xixixi;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        Student[] arr = new Student[n];
        for(int i=0;i<n;i++)
        {
            String name = in.next();
            int num = in.nextInt();
            arr[i] = new Student(name, num);
        }
    }   
}

class Student{
    String name;
    int num;
    Student(String s,int n){
        name = s;
        num = n;
    }
    
    public String toString() {
        return name+"-"+num;
    }
}

 class NameComparator implements Comparator<Student>{
    public int compare(Student o1,Student o2)
    {
        if(o1.name.compareTo(o2.name)>0)
            return 1;
        else if(o1.name.compareTo(o2.name)<0)
            return -1;
        else 
            return o1.name.compareTo(o2.name);
    }
}

以上是关于Java中Comparator比较器的使用的主要内容,如果未能解决你的问题,请参考以下文章

Java中Comparator比较器的使用

java中Comparable和Comparator两种比较器的区别

Java学习总结——(Map集合,Comparator接口,异常等)

Java集合框架 Set接口实现类--TreeSet补充: Comparator接口

Comparable & Comparator的区别

Java比较接口: Comparator的使用方式