本帖最后由 Kevin.Kang 于 2015-7-21 14:58 编辑
对自定义对象进行排序的时候,有两种方式:自然排序,比较器排序- package com.kxg.Collections;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
- public class CollectionsDemo2 {
- public static void main(String[] args) {
- ArrayList<Person> arr = new ArrayList<Person>();
- Person p1 = new Person("李延旭", 20);
- Person p2 = new Person("任兴亚", 23);
- Person p3 = new Person("赵磊", 19);
- Person p4 = new Person("王澳", 20);
- arr.add(p1);
- arr.add(p2);
- arr.add(p3);
- arr.add(p4);
- // 自然排序,需要对象实现Comparable接口
- Collections.sort(arr);
- for (Person p : arr) {
- System.out.println(p.getName() + ":" + p.getAge());
- }
-
-
- // 比较器排序
- Collections.sort(arr, new Comparator<Person>()
- {
- @Override
- public int compare(Person p1, Person p2) {
- int num = p1.getAge() - p2.getAge();
- int num2 = num == 0 ? p1.getName().compareTo(p2.getName()) : num;
- return num2;
- }
- });
- }
- }
复制代码
|