List排序

来源:互联网 发布:舔红叶知弦的脚哪一集 编辑:程序博客网 时间:2024/06/11 02:28

方式一:要排序的目标实体类实现Comparable接口

Person.javapackage com.concurrency;/** * @author lxg * * 2016年8月9日上午10:47:16 */public class Person implements Comparable<Person> {    private String name;    private Integer age;    /**     *      */    public Person(String name,Integer age) {        this.name = name;        this.age = age;    }    @Override    public String toString() {        return "Person [name=" + name + ", age=" + age + "]";    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    @Override    public int compareTo(Person o) {        // TODO Auto-generated method stub        return this.getAge().toString().compareTo(o.getAge().toString());    }}
ListSort.javapackage com.concurrency;import java.util.ArrayList;import java.util.Collections;import java.util.List;import org.junit.Test;/** * @author lxg * * 2016年8月9日上午10:52:11 */public class ListSort {    @Test    public void demo(){        List<Person> list = new ArrayList<Person>();        list.add(new Person("aaa", 12));        list.add(new Person("fff", 34));        list.add(new Person("cvb", 56));        Collections.sort(list);        for(Person p : list){            System.out.println(p.toString());        }    }}

方式二:重载Collections.sort方法

Person1.javapackage com.concurrency;/** * @author lxg * * 2016年8月9日上午10:47:16 */public class Person1{    private String name;    private Integer age;    /**     *      */    public Person1(String name,Integer age) {        this.name = name;        this.age = age;    }    @Override    public String toString() {        return "Person [name=" + name + ", age=" + age + "]";    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }}
package com.concurrency;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import org.junit.Test;/** * @author lxg * * 2016年8月9日上午10:52:11 */public class ListSort1 {    @Test    public void demo(){        List<Person1> list = new ArrayList<Person1>();        list.add(new Person1("aaa", 12));        list.add(new Person1("fff", 34));        list.add(new Person1("cvb", 56));        Collections.sort(list,new Comparator<Person1>() {            @Override            public int compare(Person1 o1, Person1 o2) {                return o1.getName().compareTo(o2.getName());            }        });        for(Person1 p : list){            System.out.println(p.toString());        }    }}
0 0
原创粉丝点击