Android实现列表数据按名称排序、中英文混合排序
作者:God丶David 时间:2022-10-18 15:15:57
有时候我们需要多列表中的数据进行特定的排序,最近项目中用到的是按名称排序,所以简单来说一下:
效果图:
排序方法:
Collections.sort(students, new SortChineseName());
for (Student s : students) {
Log.e("David", "名称正序排列:" + s.getName());
}
Log.d("David", "---------------------------------------");
Collections.reverse(students);
for (Student s : students) {
Log.e("David", "名称倒序排列(一):" + s.getName());
}
Log.d("David", "---------------------------------------");
Collections.sort(students, Collections.reverseOrder(new SortChineseName()));
for (Student s : students) {
Log.e("David", "名称倒序排列(二):" + s.getName());
}
sort方法
class SortChineseName implements Comparator<ResolveInfo> {
/**
* create by Davide
* 参数说明:
* ResolveInfo 为你的List集合中的类-我这里为 android系统中apk信息类
*/
private Context mContext;
//构造-传进来context对象
public SortChineseName(Context mContext) {
this.mContext = mContext;
}
Collator cmp = Collator.getInstance(java.util.Locale.CHINA);
@Override
public int compare(ResolveInfo info1, ResolveInfo info2) {
String apkName1 = info1.loadLabel(mContext.getPackageManager()).toString();
String apkName2 = info2.loadLabel(mContext.getPackageManager()).toString();
/**
*create by Davide
*开始比较-我这儿按照apk的名称排序,便获取apkName
*/
if (cmp.compare(apkName1, apkName2) > 0) {
return 1;
} else if (cmp.compare(apkName1, apkName2) < 0) {
return -1;
}
return 0;
}
}
来源:https://blog.csdn.net/GodDavide/article/details/53085501
标签:Android,数据排序
0
投稿
猜你喜欢
C#实现QQ聊天窗口
2023-07-06 02:43:56
Android使用httpPost向服务器发送请求的方法
2021-12-08 19:37:07
解析C#中的常量及如何在C#编程中定义常量
2022-03-20 22:58:36
Springboot下swagger-ui.html访问不到的解决方案
2022-08-20 20:52:22
Java远程连接Linux服务器并执行命令及上传文件功能
2023-01-28 14:03:31
Java Collections集合继承结构图_动力节点Java学院整理
2022-07-10 03:44:53
Java集合框架ArrayList源码分析(一)
2022-05-12 19:32:50
JavaMap两种遍历方式keySet与entrySet详解
2022-04-17 14:36:29
C#无法打开计算机“.”上的 IISADMIN 服务的解决方法
2023-02-04 21:46:54
C#去除字符串中的反斜杠实例(推荐)
2022-02-02 20:27:14
Android package属性、package name和Application ID三者的联系及区别
2022-08-18 12:57:09
android系统在静音模式下关闭camera拍照声音的方法
2021-09-04 00:34:20
Java对象在JVM中的生命周期详解
2023-11-24 16:15:03
快速了解Maven
2022-10-22 20:18:33
SpringBoot外部化配置使用Plus版的方法示例
2022-12-21 01:03:46
深入理解Android手势识别
2021-08-12 11:05:16
springboot读取application.yaml文件数据的方法
2023-09-06 05:29:24
详细总结Java for循环的那些坑
2023-04-23 16:35:05
Java实现的模糊匹配某文件夹下的文件并删除功能示例
2022-02-28 13:51:46
C# WPF Image控件的绑定方法
2023-09-03 06:41:42