在Java中,可以使用`Arrays.sort()`方法对数组进行排序。以下是一些基本的使用方法:
对基本数据类型数组排序
import java.util.Arrays;
public class SortExample {
public static void main(String[] args) {
int[] numbers = {5, 3, 8, 1, 2};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // 输出:[1, 2, 3, 5, 8]
}
}
对对象数组排序
使用`Comparable`接口
import java.util.Arrays;
class Student implements Comparable
{ private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Student other) {
return this.age - other.age; // 升序排序
}
@Override
public String toString() {
return "Student{age=" + age + ", name='" + name + "'}";
}
}
public class SortExample {
public static void main(String[] args) {
Student[] students = {
new Student(25, "Alice"),
new Student(20, "Bob"),
new Student(22, "Charlie")
};
Arrays.sort(students);
System.out.println(Arrays.toString(students));
}
}
使用`Comparator`接口
import java.util.Arrays;
import java.util.Comparator;
class Student {
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "Student{age=" + age + ", name='" + name + "'}";
}
}
public class SortExample {
public static void main(String[] args) {
Student[] students = {
new Student(25, "Alice"),
new Student(20, "Bob"),
new Student(22, "Charlie")
};
Arrays.sort(students, new Comparator
() { @Override
public int compare(Student s1, Student s2) {
return s2.age - s1.age; // 降序排序
}
});
System.out.println(Arrays.toString(students));
}
}
对集合排序
对`List`排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortExample {
public static void main(String[] args) {
List
numbers = new ArrayList<>(); numbers.add(999);
numbers.add(123);
numbers.add(456);
numbers.add(66);
numbers.add(9);
Collections.sort(numbers); // 升序排序
System.out.println(numbers);
// 降序排序
Collections.sort(numbers, Collections.reverseOrder());
System.out.println(numbers);
}
}
对`Map`和`Set`排序
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/117132.html