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

来源:互联网 发布:js点击事件的window 编辑:程序博客网 时间:2024/05/18 15:30

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

/** * 关于list根据对象排序的问题 * @param list  要排序的那个list * @param getMethod  要排序的那个属性的get方法(比如说userId:“getUserId”) * @param sort 倒叙还是怎样(倒序:“desc”   顺序:null) * @param <E> * @return */public static  <E> E SortList(List<E> list, final String getMethod, final String sort) {    Collections.sort(list, new Comparator<Object>() {        @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


0 0
原创粉丝点击