arraylist排序

package cn.pbc.whfxcjc.sql2xml.test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;

public class SortListDemo {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("111-1111");
        list.add("131-1111");
        list.add("111-1111");
        list.add("131-1111");
        list.add("121-1221");
        list.add("111-1111");
        list.add("111-1111");

        SortListDemo sortList = new SortListDemo();

        // 方法一:使用SortedSet一步实现去除重复并排序
         Object[] result = sortList.removeIteranceAndSortList(list).toArray();

//        // 方法二:使用HashSet先去除重复,然后再排序
//        Object[] result = sortList.SortStringList(sortList.removeIterance(list)).toArray();
//
        for (int i = 0; i < result.length; i++) {
            System.out.println(result[i]);
        }
    }

    private List removeIterance(List list) {
        ArrayList result = new ArrayList();
        if (list != null && list.size() > 0) {
            HashSet set = new HashSet();
            set.addAll(list);
            result.addAll(set);
        }
        return result;
    }

    private List SortStringList(List list) {
        Collections.sort(list, new Comparator() {
            public int compare(Object o1, Object o2) {
                String s1 = (String) o1;
                String s2 = (String) o2;
                if (s1 == null && s2 == null) {
                    return 0;
                } else if (s1 == null) {
                    return -1;
                } else if (s2 == null) {
                    return 1;
                } else {
                    return s1.compareTo(s2);
                }
            }
        });
        return list;
    }

    private List removeIteranceAndSortList(List list) {
        ArrayList result = new ArrayList();
        if (list != null && list.size() > 0) {
            SortedSet set = Collections.synchronizedSortedSet(new TreeSet(new Comparator() {
                public int compare(Object o1, Object o2) {
                    String s1 = (String) o1;
                    String s2 = (String) o2;
                    if (s1 == null && s2 == null) {
                        return 0;
                    } else if (s1 == null) {
                        return -1;
                    } else if (s2 == null) {
                        return 1;
                    } else {
                        return s1.compareTo(s2);
                    }
                }
            }));

            set.addAll(list);
            result.addAll(set);
        }
        return result;
    }
}

你可能感兴趣的:(java)