Java:详解List集合的排序功能

概述

List集合有两大排序方式,分别为自然排序和自定义排序。
使用自然排序,需要元素类达到某种要求。
使用自定义排序,就是在需要排序的时候才传入排序规则。


自然排序

  • 自然排序是 Collections.sort 方法,只带一个参数,参数为List集合。
  • 默认能直接使用自然排序的,有基本数据类型的包装类型、String类型等等。
  • 数字类型的自然排序顺序固定为从小到大。
public static void main(String[] args) {
   
    List<Integer> list = new ArrayList();
    list.add(2);
    list.add(1);
    list.add(3);
    Collections.sort(list);
    System.out.println(list);
    // 输出:[1, 2, 3]
}

  • 为什么那些类型能用于自然排序?因为它们都有一个特点,就是实现了 Comparable<E> 接口的 compareTo 方法。
  • 该方法的使用意义是让自身对象与另一个对象进行某方面的比较大小,用前者减去后者,返回正数则认为是前者的更大,返回负数则认为前者的更小。

下面我们来自定义一个类,让它实现该接口的方法。

public class Person implements Comparable {
   
    public Person(int age) {
    this.age = age; }

    private int age;

    public int getAge() {
    return age; }
    public void setAge(int age) {
    this.age 
  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rex Chou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值