java系列21:数组的排序

知识点:

  1. Arrays
    Arrays.sort
  2. Comparable

例1:

package demo;

import java.util.Arrays;
import java.util.Iterator;

public class Test {
    public static void main(String[] args) {
        int[] array = {4, 5, 2, 1, 3};
        Arrays.sort(array);
        for (int i : array) {
            System.out.println(i);
        }
    }
}
运行结果

例2:根据年龄对人进行排序

// 1. Person.java

package demo;

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

    public Person() {
    }

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

    @Override
    public String toString() {
        return "我的名字:" + name + ",我的年龄:" + age;
    }

    /**
     * 根据年龄进行排序
     */
    @Override
    public int compareTo(Person o) {
        int num = 0;
        if(this.age > o.age) {
            num = 1;
        } else if(this.age < o.age) {
            num = -1;
        } else {
            num = 0;
        }
        return num;
    }
}

// 2. Test1.java

package demo;

import java.util.Arrays;

public class Test1 {
    public static void main(String[] args) {
        Person[] persons = {new Person("lixingzhi", 25),
                new Person("Eva", 24),
                new Person("Neo", 18),
                new Person("Tom", 32),
                new Person("xiaofei", 12)
        };
        Arrays.sort(persons);
        for (Person person : persons) {
            System.out.println(person);
        }
    }
}
运行结果

例3:根据姓名对人进行排序

// 1. Person.java

package demo;

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

    public Person() {
    }

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

    @Override
    public String toString() {
        return "我的名字:" + name + ",我的年龄:" + age;
    }

    /**
     * 根据年龄进行排序
     */
    @Override
    public int compareTo(Person o) {
        return this.name.compareTo(o.name);
    }
}

// 2. Test1.java
// 同上
运行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 排序的基本概念 在计算机程序开发过程中,经常需要一组数据元素(或记录)按某个关键字进行排序,排序完成的序列可用于快...
    Jack921阅读 1,466评论 1 4
  • 一. Java基础部分.................................................
    wy_sure阅读 3,838评论 0 11
  • 吕后:字,娥姁,汉高祖刘邦发妻,也是刘邦称帝后的皇后,汉惠帝刘盈的母亲。是中国历史上第一位有记载的皇后和皇太后,同...
    青子闲话阅读 475评论 1 3
  • 1我知道你要走了 我 应该对你说些什么 是否有些晚呢 我错过很多 2 你有你的傲慢,我有我的偏见 3 终于再次见面...
    写点东西阅读 268评论 0 0