java如何打印排序
打印排序数组的方法
在Java中打印排序后的数组,可以通过以下步骤实现。假设已经有一个数组,需要先排序再打印。
排序数组
使用Arrays.sort()方法对数组进行排序。该方法可以对基本类型数组和对象数组进行排序。
import java.util.Arrays;
int[] numbers = {5, 3, 9, 1, 6};
Arrays.sort(numbers);
打印排序后的数组
排序完成后,可以通过循环或Arrays.toString()方法打印数组内容。
使用Arrays.toString()方法:
System.out.println(Arrays.toString(numbers));
输出结果:
[1, 3, 5, 6, 9]
使用循环打印数组:
for (int num : numbers) {
System.out.print(num + " ");
}
输出结果:

1 3 5 6 9
自定义排序顺序
如果需要自定义排序顺序(如降序),可以使用Comparator接口或手动实现排序逻辑。
降序排序示例
对于对象数组(如Integer),可以使用Comparator.reverseOrder():
Integer[] numbers = {5, 3, 9, 1, 6};
Arrays.sort(numbers, Collections.reverseOrder());
System.out.println(Arrays.toString(numbers));
输出结果:
[9, 6, 5, 3, 1]
对于基本类型数组(如int),可以手动反转排序后的数组:

int[] numbers = {5, 3, 9, 1, 6};
Arrays.sort(numbers);
for (int i = numbers.length - 1; i >= 0; i--) {
System.out.print(numbers[i] + " ");
}
输出结果:
9 6 5 3 1
复杂对象的排序
如果需要对自定义对象数组排序,可以实现Comparable接口或使用Comparator。
实现Comparable接口示例
class Person implements Comparable<Person> {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Person other) {
return Integer.compare(this.age, other.age);
}
@Override
public String toString() {
return name + " (" + age + ")";
}
}
Person[] people = {
new Person("Alice", 30),
new Person("Bob", 25),
new Person("Charlie", 35)
};
Arrays.sort(people);
System.out.println(Arrays.toString(people));
输出结果:
[Bob (25), Alice (30), Charlie (35)]
使用Comparator示例
Arrays.sort(people, (p1, p2) -> p2.age - p1.age); // 降序
System.out.println(Arrays.toString(people));
输出结果:
[Charlie (35), Alice (30), Bob (25)]
总结
Java中打印排序后的数组可以通过Arrays.sort()方法实现基本排序,结合Arrays.toString()或循环打印结果。对于复杂需求,可以使用Comparator或实现Comparable接口自定义排序逻辑。






