风在路上 风在路上
首页
导航站
  • Java-Se

    • Java基础
  • Java-Se进阶-多线程

    • 多线程
  • Java-Se进阶-java8新特性

    • java8新特性
  • Java-ee

    • JavaWeb
  • Java虚拟机

    • JVM
  • golang基础

    • golang基础
  • golang框架

    • gin
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • Redis
    • ElasticSearch
    • MongoDB
  • ORM

    • MyBatis
    • MyBatis-Plus
  • Spring

    • Spring
  • SpringMVC

    • SpringMVC1
    • SpringMVC2
  • SpringCloud

    • SpringCloud
  • 中间件

    • RabbitMQ
    • Dubbo
  • 秒杀项目
  • Git
  • Linux
  • Docker
  • JWT
  • 面试
  • 刷题
开发问题😈
设计模式
关于💕
归档🕛
GitHub (opens new window)

风

摸鱼
首页
导航站
  • Java-Se

    • Java基础
  • Java-Se进阶-多线程

    • 多线程
  • Java-Se进阶-java8新特性

    • java8新特性
  • Java-ee

    • JavaWeb
  • Java虚拟机

    • JVM
  • golang基础

    • golang基础
  • golang框架

    • gin
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • Redis
    • ElasticSearch
    • MongoDB
  • ORM

    • MyBatis
    • MyBatis-Plus
  • Spring

    • Spring
  • SpringMVC

    • SpringMVC1
    • SpringMVC2
  • SpringCloud

    • SpringCloud
  • 中间件

    • RabbitMQ
    • Dubbo
  • 秒杀项目
  • Git
  • Linux
  • Docker
  • JWT
  • 面试
  • 刷题
开发问题😈
设计模式
关于💕
归档🕛
GitHub (opens new window)
  • Java-基础

    • Java基础
    • Java基础-String
    • Java基础-StringBuffer、StringBuilder
    • Java基础-时间api
    • Java基础-Java比较器
      • Java比较器
        • 自然排序: java.lang.Comparable
    • Java基础-枚举类
    • Java基础-注解
    • Java基础-集合框架
    • Java基础-泛型
    • Java基础-IO流
    • Java基础-网络编程
    • Java基础-反射
    • Java基础-异常机制
    • Java基础-java8其它新特性
  • Java-多线程

  • Java8新特性

  • JavaWeb

  • JVM

  • Java
  • Java-基础
zdk
2022-01-06
目录

Java基础-Java比较器

Table of Contents generated with DocToc (opens new window)

  • Java比较器
    • 自然排序: java.lang.Comparable

# Java比较器

在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。

Java实现对象排序的方式有两种:

  1. 自然排序: java.lang.Comparable

  2. 定制排序: java.util.Comparator

# 自然排序: java.lang.Comparable

comparable接口使用举例:用要比较的类去实现comparable接口,重写compareTo方法,定义比较两个对象大小的方式

重写规则:

  1. 如果当前对象this大于形参对象obj,返回正整数;

  2. 如果当前对象this小于形参对象obj,返回负整数;

  3. 如果当前对象this等于形参对象obj,返回零;

对于自定义类来说,如果需要排序,我们可以让自定义类实现comparable接口,重写compareTo方法

public class Person implements Comparable<Person>{
    String name;
    int age;

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

    @Override
    public int compareTo(Person o) {
        return this.age-o.age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
在 GitHub 上编辑此页 (opens new window)
最后更新: 2022/10/04, 16:10:00
Java基础-时间api
Java基础-枚举类

← Java基础-时间api Java基础-枚举类→

Theme by Vdoing | Copyright © 2022-2025 zdk | notes
湘ICP备2022001117号-1
川公网安备 51142102511562号
本网站由 提供CDN加速/云存储服务
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式