java中的简单list排序

来源:互联网 发布:网络短信免费版手机版 编辑:程序博客网 时间:2024/06/08 01:01

方法一

直接使用list中对象实现Comparable接口

public static void main(String[] args) {    List<Person> listA = new ArrayList<Person>();    Person p1 = new Person();    Person p2 = new Person();    Person p3 = new Person();    p1.setName("name1");    p1.setOrder(1);    p2.setName("name2");    p2.setOrder(2);    p3.setName("name3");    p3.setOrder(3);    listA.add(p2);    listA.add(p1);    listA.add(p3);    Collections.sort(listA);    for (Person p : listA) {        System.out.println(p.getName());    }}

方法二

重载Collections.sort方法

public class Person {    private String name;    private Integer order;    /**     * @return the name     */    public String getName() {        return name;    }    /**     * @param name     *            the name to set     */    public void setName(String name) {        this.name = name;    }    /**     * @return the order     */    public Integer getOrder() {        return order;    }    /**     * @param order     *            the order to set     */    public void setOrder(Integer order) {        this.order = order;    }}
public static void main(String[] args) {        List<Person> listA = new ArrayList<Person>();        Person p1 = new Person();        Person p2 = new Person();        Person p3 = new Person();        p1.setName("name1");        p1.setOrder(1);        p2.setName("name2");        p2.setOrder(2);        p3.setName("name3");        p3.setOrder(3);        listA.add(p2);        listA.add(p1);        listA.add(p3);        Collections.sort(listA, new Comparator<Person>() {            public int compare(Person arg0, Person arg1) {                return arg0.getOrder().compareTo(arg1.getOrder());            }        });        for (Person p : listA) {            System.out.println(p.getName());        }    }
0 0
原创粉丝点击