有时候我们需要多列表中的数据进行特定的排序,最近项目中用到的是按名称排序,所以简单来说一下:
效果图:
排序方法:
Collections.sort(学生,new SortChineseName ()); for 才能;(Student s :学生),{ ,,,,,Log.e (“David",,“名称正序排列:“,+,s.getName ()); ,,,} ,,,Log.d (“David",,“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -产生绯闻;); ,,,Collections.reverse(学生); ,,,for (Student s :学生),{ ,,,,,Log.e (“David",,“名称倒序排列(一):“,+,s.getName ()); ,,,} ,,,Log.d (“David",,“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -产生绯闻;); ,,,Collections.sort(学生,Collections.reverseOrder (new SortChineseName ())); ,,,for (Student s :学生),{ ,,,,,Log.e (“David",,“名称倒序排列(二):“,+,s.getName ()); }
排序方法
class SortChineseName implements Comparator, { ,,,/* * ,,,,*,create by 大卫。 ,,,,*,参数说明: ,,,,*,ResolveInfo 为你的列表集合中的类——我这里为,安卓系统中apk信息类 ,,,*/,,,private Context mContext; ,,,//构造——传进来上下文对象 ,,,public SortChineseName (Context mContext), { ,,,,,this.mContext =, mContext; ,,,} ,,,Collator cmp =, Collator.getInstance (java.util.Locale.CHINA); ,,@Override ,,,public int 比较(ResolveInfo info1, ResolveInfo info2), { ,,,,,String apkName1 =, info1.loadLabel (mContext.getPackageManager ()) .toString (); ,,,,,String apkName2 =, info2.loadLabel (mContext.getPackageManager ()) .toString (); ,,,,,/* * ,,,,,,* create by 大卫。 ,,,,,,*开始比较,我这儿按照apk的名称排序,便获取apkName ,,,,,*/,,,,,if (cmp.compare (apkName1, apkName2),祝辞,0),{ ,,,,,,,return 1; ,,,,,},else if (cmp.compare (apkName1, apkName2), & lt;, 0), { ,,,,,,,return 1; ,,,,,} ,,,,,return 0; ,,,} 以前,,}> 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Android实现列表数据按名称排序,中英文混合排序