Java集合排序详解(2种常用排序方式)

Java集合排序详解(2种常用排序方式)-mikechen

Java集合排序经常在Java编程中使用到,下面详解2种常用的Java集合排序方式@mikechen

1.Collections.sort()方法对集合进行排序

Java可以使用Collections.sort()方法对集合进行排序,如下所示:

List<Integer> numList = new ArrayList<>();
numList.add(5);
numList.add(2);
numList.add(9);
numList.add(1);
numList.add(7);

//Java集合排序
Collections.sort(numList);

这会将集合中的元素按照升序排列,如果想要按照降序排列,可以使用Collections.reverse()方法。

Collections.sort(numList, Collections.reverseOrder());

 

2.实现Comparable接口自定义排序

Collections.sort()方法只能对实现了Comparable接口的对象进行排序。

如果要对自定义的对象进行排序,可以让它实现Comparable接口并重写compareTo()方法。

如下所示:

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

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

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

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

我们可以自定义排序,对Person对象按照年龄进行排序。

如下所示:

List<Person> personList = new ArrayList<>();
personList.add(new Person("Alice", 25));
personList.add(new Person("Bob", 30));
personList.add(new Person("Charlie", 20));
Collections.sort(personList);

这会将personList按照年龄升序排列,如果要按照其他属性进行排序,可以修改compareTo()方法的实现。

以上就是2种常用的Java结合排序详解,更多Java集合,请查看:Java集合(万字图文全面详解)

mikechen睿哥

mikechen睿哥,十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法