以下是Java对数组进行排序的方法的完整攻略。
Java提供了一系列快速且易用的排序方法,可用于对数组进行排序:
值得一提的是,以上所有方法都是使用快速排序算法实现的。你可以根据具体的需要进行选择。
我们先来看一个对整形数组进行排序的示例:
int[] arr = {5,2,3,1,4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
以上代码将会输出 [1, 2, 3, 4, 5]
,即对 arr
进行了升序排列。
接下来,我们来看一下如何对对象数组进行排序:
class Person implements Comparable<Person> {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Person o) {
return Integer.compare(this.age, o.age);
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
Person[] persons = new Person[]{
new Person("A", 20),
new Person("B", 18),
new Person("C", 22)
};
Arrays.sort(persons);
System.out.println(Arrays.toString(persons));
以上代码将会输出 [Person{name='B', age=18}, Person{name='A', age=20}, Person{name='C', age=22}]
,即对 persons
数组中的对象按照年龄升序排列。
在对象数组排序中,我们需要实现 Comparable
接口,并在其中重写 compareTo
方法。在 compareTo
方法中,我们需要根据需要进行比较,返回 -1、0、1 分别表示当前对象小于、等于、大于目标对象。而在最后的输出中,我们需要重写 toString
方法,以方便输出。
以上是Java对数组进行排序的方法的完整攻略。需要注意的是,在排序对象数组时,我们需要实现 Comparable
接口,并在其中重写 compareTo
方法。在此之外,还可以使用 Comparator
接口进行排序,这部分内容可以自行进行深入了解。
本文链接:http://task.lmcjl.com/news/7962.html