我想实现以下功能:
对于内存中一批数据,我想实现按照3个关键字进行排序:
先对key1排序,
key1相同,则按照key2排序,
key1,key2相同,则按照key3排序

解决方案 »

  1.   

    order by key1 ,key2,key3
      

  2.   

    内存中的这些数据是在类中?还是只是数组?如果是类,建议写一个compareTo方法来比较大小,然后选择一个排序算法。
      

  3.   

    我是在内存中得数据。原本我们已经通过compare实现了一个关键字排序,现在想实现3个关键字,请问大虾,可否给个代码看看。
      

  4.   

    在你已经实现compare第一个关键字排序内部如果key1相同进行按第二次关键字进行排序..
    同理排序key3
      

  5.   

    1,调用Collections.sort()方法
    Collections.sort(fileList, new FileNodeComparator(form.getSortName(),form.isAsc()));
    2,实现一个自定义的Comparator
    class FileNodeComparator implements Comparator{
    private String sortName = "name";
    private boolean isAsc = true;
    FileNodeComparator(String sortName,boolean isAsc){
    this.sortName = sortName;
    this.isAsc = isAsc;
    }
    public int compare(Object arg0, Object arg1) {
    。。
    。。
    。。
    。。
    }
    }