Java list对象列表排序 实例

时间:2022-06-24 21:19:50
package com.test;

public class Bean {

    private String name;
    private int priority;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPriority() {
        return priority;
    }

    public void setPriority(int priority) {
        this.priority = priority;
    }

}
package com.test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Random;

public class Test {

    @SuppressWarnings({ "unchecked", "rawtypes" })
    public static void main(String[] args) {

        List<Bean> list = new ArrayList<Bean>();
        for (int i = 1; i < 10; i++) {
            Bean bean = new Bean();
            bean.setName("name_" + i);
            bean.setPriority(new Random().nextInt(10));
            list.add(bean);
        }
        // 打印
        for (Bean b : list) {
            System.out.println(b.getPriority() + "|" + b.getName());
        }

        Collections.sort(list, new Comparator() {
            public int compare(Object a, Object b) {
                int one = ((Bean) a).getPriority();
                int two = ((Bean) b).getPriority();
                return one - two;
            }
        });
        System.out.println("--------------------------------");
        // 打印
        for (Bean b : list) {
            System.out.println(b.getPriority() + "|" + b.getName());
        }
    }

}