Java sort()方法

Java sort()方法

Java 包(package)Java 8 新特性

Java sort()方法

集合框架的 sort ()方法使用合并排序算法对集合的元素进行排序。

合并排序算法基于分而治之规则。 要了解有关合并排序的更多信息,请访问合并排序算法。

让我们以sort()方法为例。

示例:按升序排序import java.util.ArrayList;

import java.util.Collections;

class Main {

public static void main(String[] args) {

//创建数组列表

ArrayList numbers = new ArrayList<>();

//添加元素

numbers.add(4);

numbers.add(2);

numbers.add(3);

System.out.println("Unsorted ArrayList: " + numbers);

//使用sort()方法

Collections.sort(numbers);

System.out.println("Sorted ArrayList: " + numbers);

}

}输出结果

Unsorted ArrayList: [4, 2, 3]

Sorted ArrayList: [2, 3, 4]正如您看到的,默认情况下,排序按照自然顺序(升序)进行。但是,我们可以自定义 sort ()方法的排序顺序。

自定义排序顺序在Java中,可以自定义sort()方法,使用Comparator接口以相反的顺序执行排序。

示例:按降序排序import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

class Main {

public static void main(String[] args) {

//创建数组列表

ArrayList numbers = new ArrayList<>();

//添加元素

numbers.add(4);

numbers.add(2);

numbers.add(3);

System.out.println("Unsorted ArrayList: " + numbers);

//使用sort()方法

Collections.sort(numbers);

System.out.println("Natural Sorting: " + numbers);

//使用自定义的sort()方法

Collections.sort(numbers, new CustomComparator());

System.out.println("Customized Sorting: " + numbers);

}

}

class CustomComparator implements Comparator {

@Override

public int compare(Integer animal1, Integer animal2) {

int value = animal1.compareTo(animal2);

//元素按相反顺序排序

if (value > 0) {

return -1;

}

else if (value < 0) {

return 1;

}

else {

return 0;

}

}

}输出结果

Unsorted ArrayList: [4, 2, 3]

Natural Sorting: [2, 3, 4]

Customized Sorting: [4, 3, 2]在上面的示例中,我们使用了sort()方法和CustomComparator作为参数。

这里,CustomComparator是一个实现Comparator接口的类。进一步了解Java Comparator接口。

然后重写compare()方法。该方法现在将按相反顺序对元素排序。

Java 包(package)Java 8 新特性

相关推荐

方舟生存进化哪个地图大
365万博首页

方舟生存进化哪个地图大

📅 07-31 👁️ 5174
数控机床编程中的G代码是什么意思?有哪些常见G代码?
林内燃气壁挂炉和威能哪个好(林内燃气壁挂炉和威能,哪个更好?)
娈的解释
365bet网址多少

娈的解释

📅 08-08 👁️ 4026
淘宝火拼周活动详解:定义、时间及报名方式介绍
365bet网址多少

淘宝火拼周活动详解:定义、时间及报名方式介绍

📅 08-23 👁️ 3444
怎么取消excel里的所有公式
365万博首页

怎么取消excel里的所有公式

📅 07-20 👁️ 5402