您的位置:首页 > 其它

对集合中的对象的属性进行排序

2016-04-21 14:28 281 查看
用Collections中的sort方法排序。

Collections中的sort方法有两个:

//根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口

public static <T extends Comparable<? super T>> void  sort(List<T> list)

//根据指定比较器产生的顺序对指定列表进行排序。此列表内的所有元素都必须可使用指定比较器相互比较

pubic static <T extends Comparable<? super T>> void sort(List<T> list,Comparator<? super T> c)

如对List<String> list中的字符串排序的话:

public class SortList {

    private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

 

    public static void main(String[] args) {

        List<String> dates = new ArrayList<String>();

        dates.add("2014-10-02");

        dates.add("2013-12-01");

        dates.add("2014-11-02");

        dates.add("2014-01-05");

   

        Collections.sort(dates, new Comparator<String>() {

            @Override

            public int compare(String o1, String o2) {

                Date d1 = null, d2 = null;

                try {

                    d1 = df.parse(o1);

                } catch (ParseException e) {

                    e.printStackTrace();

                }

                try {

                    d2 = df.parse(o2);

                } catch (ParseException e) {

                    e.printStackTrace();

                }

                if(null == d1 || null == d2) {

                    return 0;

                }

                return d1.compareTo(d2);

            }

        });

        System.out.println(dates);

    }

 

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: