posts - 12, comments - 4, trackbacks - 0, articles - 0

对List进行排序

Posted on 2008-02-27 11:42 Edward's 阅读(3453) 评论(0)  编辑  收藏

对List进行排序

        List<String> list = new ArrayList<String>();
        list.add(
"ds");
        list.add(
"cd");
        list.add(
"ec");
        list.add(
"gt");
        Collections.sort(list);
        
        
for(String s : list){
            System.out.println(s);
        }

        
其中Collections.sort(list)是对List的进行排序的,查看sort方法:
    public static <extends Comparable<? super T>> void sort(List<T> list) {
    Object[] a 
= list.toArray();
    Arrays.sort(a);
    ListIterator
<T> i = list.listIterator();
    
for (int j=0; j<a.length; j++{
        i.next();
        i.set((T)a[j]);
    }

    }
可以看出,此方法是通过把List转换成一个Object[]的对象。然后使用Arrays的sort方法进行排序
最后把排序好的Object[]对象set到list中
//        Collections.sort(list);
//        
//        for(String s : list){
//            System.out.println(s);
//        }
        Object[] o = list.toArray();
        Arrays.sort(o);
        
for(int i=0;i<o.length;i++){
            list.set(i, (String) o[i]);
        }

        
for(String s : list){
            System.out.println(s);
        }




只有注册用户登录后才能发表评论。


网站导航: