比较器Comparator

Comparator接口

 java中有内置的排序,Arrays.sort(),现在我有一个Student类,类中三个成员变量name,id,age,我现在想以age作为参考进行升序排序,应该如何做,很简单,只需要自己定义一个类实现Comparator接口即可

import java.util.*;
class Student {
    String name;
    int id,age;
    Student(String name,int id,int age) {
        this.name = name;
        this.id = id;
        this.age = age;
    }
}
public class ComparetorTest {
    public static class MyCompara implements Comparator<Student> {
        public int compare(Student s1, Student s2) {
            return s1.age - s2.age;
        }
    }
    public static void main(String[] args) {
        Student s1 = new Student("A",1,22);
        Student s2 = new Student("B",3,23);
        Student s3 = new Student("C",2,21);
        Student[] student = new Student[] {s1,s2,s3};
        Arrays.sort(student, new MyCompara());
        for(int i = 0;i < student.length;i++) 
            System.out.println(student[i].name + " " + student[i].id + " " + student[i].age);
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个爱瞎折腾的程序猿

LINQ

select:提取要查询的数据                 where:筛选满足条件的元素   

11110
来自专栏lulianqi

abstract virtaul override new 及多态

abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽...

12020
来自专栏liulun

30分钟泛型教程

一、泛型入门: 我们先来看一个最为常见的泛型类型List<T>的定义 (真正的定义比这个要复杂的多,我这里删掉了很多东西) [Serializable] pub...

20160
来自专栏程序员互动联盟

【编程基础】Java Comparator接口的使用

在实际编程中我们经常会用到集合或者数组,有的时候你需要对这个集合中的元素就行排序,那这个时候就用到了Comparator接口,先看一下接口的原型: public...

35790
来自专栏WindCoder

函数模板之名为List的类模板—C++

13910
来自专栏闻道于事

Java8Lambda表达式

使用 Lambda 表达式可以使代码变的更加简洁紧凑。有了Lambda表达式,java将开启函数式编程的大门。

10220
来自专栏GreenLeaves

C# ref与out关键字解析

简介:ref和out是C#开发中经常使用的关键字,所以作为一个.NET开发,必须知道如何使用这两个关键字. 1、相同点 ref和out都是按地址传递,使用后都将...

19560
来自专栏程序猿DD

你真的了解lambda吗?一文让你明白lambda用法与源码分析

本文链接: http://www.cmlanche.com/2018/07/22/lambda用法与源码分析/

14020
来自专栏跟着阿笨一起玩NET

C#字符串、字节数组和内存流间的相互转换

9410
来自专栏null的专栏

每周算法练习——大数的乘法问题

    大数问题的思路是使用矩阵或者字符串来存储,今天我试着用Java实现了这样的功能,这段程序只是基本模拟大数乘法,当然实现的只是基本的原理。 Java代码:...

38160

扫码关注云+社区

领取腾讯云代金券