对象类型List<User>,想根据里面的percent字段排序,percent是字符串类型百分比形如"25.12%",想根据这个字段由高到低排序!

解决方案 »

  1.   

    让User实现java.lang.Comparable<T>接口,在compareTo方法里面指定你的排序实现。
      

  2.   

    按照一楼的,然后使用Arrays.sort() 传入参数
      

  3.   

    实现java.lang.Comparable<T>接口,在compareTo方法里面指定你的排序实现
      

  4.   


    List<User> list = new ArrayList<User>();
    Arrays.sort(list, new Comparator()
            {
                public int compare(Object o1, Object o2)
                {
                    User f1 = (User)o1;
                    User f2 = (User)o2;                if (f1.getPercent() < f2.getPercent()) return -1; 
                    if (f1.getPercent() > f2.getPercent()) return 1;
                    return 0 ;
                }
            }
            );先转一下percent字段类型就OK了
      

  5.   


    public class ScoreComparator implements Comparator {
     @Override
     public int compare(Object arg0, Object arg1) {
      // TODO Auto-generated method stub
      Student s1 = (Student) arg0;
      Student s2 = (Student) arg1; 
      if(s1.score > s2.score){//第一个比第二个大,返回-1
       return -1;
      }else if(s1.score == s2.score){//第一个和第二个相等,返回0
       return 0;
      }else{//第一个比第二个小,返回1
       return 1;
      }
     }
    }//以下调用
    //....
    ScoreComparator sc = new ScoreComparator();
    Collections.sort(list, sc);
    //....