日期:2014-05-17  浏览次数:20620 次

一个list的排序问题、请大虾解答。
List listAll =new ArrayList();
listAll.add("A");
listAll.add("A");
listAll.add("C");
listAll.add("B");
listAll.add("V");
listAll.add("A");
listAll.add("C");
例子是这样的、
需要把list里面的值排序一下、
结果应是这样的:AAACCBV

------解决方案--------------------
要么就自己写程序搞定,想偷鸡可以:
Object[] objs = listAll.toArray();
Arrays.sort(objs);
listAll = Arrays.asList(objs);
------解决方案--------------------
你自己重写compareTo方法,想怎么排序都行。
------解决方案--------------------
compareTo不会写。看了下api,自己写的也能实现。高手勿喷
Java code

public static void main(String[] args) {
        List listAll =new ArrayList();
        listAll.add("A");
        listAll.add("A");
        listAll.add("C");
        listAll.add("B");
        listAll.add("V");
        listAll.add("A");
        listAll.add("C");
        
        Collections.sort(listAll);
        
        int bcount = listAll.lastIndexOf("B");
        int clastCount = listAll.lastIndexOf("C");
        
        listAll.set(bcount, "C");
        listAll.set(clastCount, "B");
        
        for(int i = 0 ; i < listAll.size();i++){
            System.out.print(listAll.get(i));
        }
    }