在Java中,对List集合进行排序可以通过以下几种方法实现:
1. 使用`Collections.sort()`方法:
List
list = new ArrayList<>(); list.add(3);
list.add(2);
list.add(1);
Collections.sort(list);
System.out.println(list); // 输出 [1, 2, 3]
2. 使用`Comparable`接口进行排序:
class Person implements Comparable
{ private int age;
private String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Person other) {
return Integer.compare(this.age, other.age);
}
}
List
list = new ArrayList<>(); list.add(new Person(30, "Jesse"));
list.add(new Person(10, "Luxi"));
list.add(new Person(40, "Jack"));
Collections.sort(list);
list.forEach(person -> System.out.println(person.name + " " + person.age));
3. 使用`Comparator`接口进行排序:
List
list = new ArrayList<>(); list.add(3);
list.add(2);
list.add(1);
Comparator
comparator = new Comparator () { @Override
public int compare(Integer o1, Integer o2) {
return Integer.compare(o2, o1); // 降序排序
}
};
Collections.sort(list, comparator);
System.out.println(list); // 输出 [3, 2, 1]
4. 使用Java 8的Stream API进行排序:
List
list = new ArrayList<>(); list.add(3);
list.add(2);
list.add(1);
List
sortedList = list.stream() .sorted()
.collect(Collectors.toList());
System.out.println(sortedList); // 输出 [1, 2, 3]