List集合快速排序

mac2025-11-19  3

问题描述:

List中存放的是某个对象,现在要把这个集合根据对象的某个属性进行排序,不过需要把要排序的属性值变为可运算的数值,才能实现此功能。

代码示例如下:

import java.util.Collections; import java.util.Comparator; public class Test { public static void main(String[] args) throws Exception { //Student是一个对象,该对象中有个带参数的构造方法 List<Student> ps = new ArrayList<Student>(); ps.add(new Student("h", "啊")); ps.add(new Student("a", "中")); ps.add(new Student("c", "宝")); System.out.println("排序前"); for (Student o : ps) { System.out.println(o.getValue().charAt(0)+" "+o.getName()); } Collections.sort(ps, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { //String类型进行排序 return return o1.getValue().compareTo(o2.getValue()); } }); System.out.println("排序后"); for (Student o : ps) { System.out.println(o.getValue().charAt(0)+" "+o.getName()); } } }

控制台输出内容为:

排序前 啊 h 中 a 宝 c 排序后 中 a 啊 h 宝 c

 

最新回复(0)