📜  java array sortieren - Java (1)

📅  最后修改于: 2023-12-03 15:01:28.465000             🧑  作者: Mango

Java中的数组排序

在Java中,要对数组进行排序,有多种方法可用。本文将介绍Java中的数组排序方法及其使用。

Arrays类中的排序方法

Java中提供了Arrays类,其中包含用于排序数组的sort方法。该方法有以下两个用法:

用法一:对整数数组排序
int[] array = {3, 1, 4, 1, 5, 9, 2, 6, 5};
Arrays.sort(array);

上述代码中,我们首先定义了一个整数数组array,其中包含一些数字。然后我们调用了Arrays类中的sort方法,将整个数组升序排序。排序后,数组array中的元素为{1, 1, 2, 3, 4, 5, 5, 6, 9}。

用法二:对字符串数组排序
String[] array = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"};
Arrays.sort(array);

上述代码中,我们定义了一个字符串数组array,其中包含八个行星的名字。然后我们调用了Arrays类中的sort方法,将整个数组按字典序升序排序。排序后,数组array中的元素为{"Earth", "Jupiter", "Mars", "Mercury", "Neptune", "Saturn", "Uranus", "Venus"}。

Comparator接口和Arrays类的排序方法

有时候,我们需要将数组按照自己的规则进行排序,此时可以使用Comparator接口。 Comparator接口有一个compare方法,可以用来定义排序规则。Arrays类的sort方法也提供了一个可以接受Comparator接口参数的重载方法。

例如,我们想要按照字符串长度升序排序上述字符串数组array,可以使用如下代码:

String[] array = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"};
Arrays.sort(array, Comparator.comparing(String::length));

上述代码中,我们使用Comparator.comparing方法创建了一个比较器,根据字符串长度进行比较。然后我们调用了Arrays类中的sort方法,将整个数组按照这个比较器升序排序。排序后,数组array中的元素为{"Mars", "Venus", "Earth", "Uranus", "Neptune", "Mercury", "Saturn", "Jupiter"}。

总结

Java中提供了多种数组排序方法,Arrays类中的sort方法是其中最常用的。除此之外,我们还可以使用Comparator接口创建自己的规则,并使用Arrays类的排序方法将数组按照这些规则进行排序。