Java list排序
时间: 2023-09-09 19:10:05 浏览: 79
List排序原理-Java核心逻辑第11章
Java中的List可以使用Collections.sort()方法进行排序。以下是一个示例代码:
```java
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(3);
numbers.add(9);
numbers.add(1);
Collections.sort(numbers);
System.out.println(numbers); // 输出 [1, 3, 5, 9]
```
上述代码中,我们首先创建了一个整数类型的List,并向其中添加了4个数。然后,我们调用了Collections.sort()方法对List进行排序。最后,我们输出了排序后的List。
如果要对自定义的对象进行排序,则需要保证该对象实现了Comparable接口,并且重写了compareTo()方法。例如,如果我们有一个Person类,其中包含了name和age两个属性,我们可以按照age属性进行排序,示例代码如下:
```java
class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
@Override
public int compareTo(Person o) {
return Integer.compare(this.age, o.getAge());
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
List<Person> people = new ArrayList<>();
people.add(new Person("Alice", 25));
people.add(new Person("Bob", 30));
people.add(new Person("Charlie", 20));
Collections.sort(people);
System.out.println(people); // 输出 [Person{name='Charlie', age=20}, Person{name='Alice', age=25}, Person{name='Bob', age=30}]
```
在该示例代码中,我们定义了一个Person类,并实现了Comparable接口。在compareTo()方法中,我们按照age属性进行比较。最后,我们创建了一个Person类型的List,并对其进行排序。排序后,我们输出了List中的元素。
阅读全文