使用比较器:
List<CustomObject> list = new ArrayList<CustomObject>();Comparator<CustomObject> comparator = new Comparator<CustomObject>() { @Override public int compare(CustomObject left, CustomObject right) { return left.getId() - right.getId(); // use your logic }};Collections.sort(list, comparator); // use the comparator as much as u wantSystem.out.println(list);此外,如果
CustomObject实现
Comparable,则只需使用
Collections.sort(list)
使用JDK 8,语法要简单得多。
List<CustomObject> list = getCustomObjectList();Collections.sort(list, (left, right) -> left.getId() - right.getId());System.out.println(list);
更简单
List<CustomObject> list = getCustomObjectList();list.sort((left, right) -> left.getId() - right.getId());System.out.println(list);
最简单的
List<CustomObject> list = getCustomObjectList();list.sort(Comparator.comparing(CustomObject::getId));System.out.println(list);
显然,初始代码也可以用于JDK 8。



