日期:2014-05-20  浏览次数:20807 次

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

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

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

------解决方案--------------------
User实现java.lang.Comparable<T>接口 , Collections.sort(ArrayList<Users>);
------解决方案--------------------
探讨

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

------解决方案--------------------
探讨

引用:

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

++
这是一种方法,还有一种方法可以用sort(List<T> list, Comparator<? super T> c) ,实现Comparator方法。

------解决方案--------------------
Java code

Collections.sort(slist, new Comparator<User>() {

            public int compare(User o1, User o2) {
                return o2.getPercent().compareTo(o1.getPercent());//降序
                                //return o1.getPercent().compareTo(o2.getPercent());//升序
            }
        });

------解决方案--------------------
这个我觉得还是应该先用split去掉百分号,然后转化下在比较要好些。