从EXCEL中读取出来的数据是 List<String[]>类型的  里面包括表头和信息  表头是汉字  有两列姓名和分数   如何根据分数实现排序呢?

解决方案 »

  1.   


    Collections.sort(list, new Comparator<String[]>() { public int compare(String[] o1, String[] o2) {

    //add sort code
    return 0;
    }


    });
      

  2.   

    Quote: 引用 2 楼 hhwyyda 的回复:

    引用 1 楼 suibianxiexie 的回复:
    Java code
    ?1234567891011Collections.sort(list, new Comparator<String[]>() {               public int compare(String[] o1, String[] o2) {                        ……[/quot] 第一行的表头怎么处理了?
      

  3.   


    String[] str1 = {"pugna","4.0"};
    String[] str2 = {"pa","1.0"};
    String[] str3 = {"huskar ","1.5"};
    String[] str4 = {"bs","1.7"};
    List<String[]> heroList = new ArrayList<String[]>();
    heroList.add(str1);
    heroList.add(str2);
    heroList.add(str3);
    heroList.add(str4);
    Collections.sort(heroList, new Comparator<String[]>() {
    public int compare(String[] o1, String[] o2) {
    // TODO Auto-generated method stub
    double mana1 = Double.parseDouble(o1[1]);
    double mana2 = Double.parseDouble(o2[1]);
    if (mana1 < mana2) {
    return -1;
    } else if (mana1 > mana2) {
    return 1;
    } else {
    return 0;
    }
    }
    });
    是这个意思不?
      

  4.   

    String[] str1 = {"姓名","成绩"};         String[] str2 = {"pa","1.0"};         String[] str3 = {"huskar ","1.5"};         String[] str4 = {"bs","1.7"}; 
      

  5.   

    从第二行开始处理就可以了。
    list也是有顺序的。
    或者compare中设置遇到不可转化为数值的字符串跳过不排序。