安卓学习笔记---对List集合进行排序(正序或者倒叙)

对于List排序,在我们开发的过程中,也是非常需要用到的,下面是一段通用的代码,有需要的可以试试,亲测可以:

/**
 * 关于list根据对象排序的问题
 * @param list  要排序的那个list
 * @param getMethod  要排序的那个属性的get方法(比如说userId:“getUserId”)
 * @param sort 倒叙还是怎样(倒序:“desc”   顺序:null)
 * @param 
 * @return
 */
public static  <E> E SortList(List<E> list, final String getMethod, final String sort) {
    Collections.sort(list, new Comparator() {
        @SuppressWarnings("unchecked")
        public int compare(Object a, Object b) {
            int ret = 0;
            try{
                Method m1 = ((E)a).getClass().getMethod(getMethod, null);
                Method m2 = ((E)b).getClass().getMethod(getMethod, null);
                if(sort != null && "desc".equals(sort))//倒序
                    ret = m2.invoke(((E)b), null).toString().compareTo(m1.invoke(((E)a), null).toString());
                else//正序
                    ret = m1.invoke(((E)a), null).toString().compareTo(m2.invoke(((E)b), null).toString());
            }catch(NoSuchMethodException ne){
                System.out.println(ne);
            }catch(IllegalAccessException ie){
                System.out.println(ie);
            }catch(InvocationTargetException it){
                System.out.println(it);
            }
            return ret;
        }
    });
    return (E) list;
}

下面是博客地址:

http://blog.csdn.net/qq_34776233/article/details/52162862


你可能感兴趣的:(工具类的封装(手机号验证,屏幕唤醒,身份证号等其他),SharePrefer,File下载,数据库的数据保存与读取)