Android List数组列表自定义排序
自定义排序
例如:根据文件的最后修改时间进行排序,最新文件在前
Collections.sort(lstFiles, new Comparator<FileListData>() {
@Override
public int compare(FileListData fileListData, FileListData t1) {
File f1 = new File(fileListData.getFilePath());
File f2 = new File(t1.getFilePath());
//默认为正序
return -Long.compare(f1.lastModified(), f2.lastModified());
}
});
自定义数据类排序
根据文件名称排序
public class FileListData implements Comparable<FileListData> {
private String fileName;
private String fileType;
public FileListData(String fileName, String fileType) {
this.fileName = fileName;
this.fileType = fileType;
}
public String getFileName() {
return this.fileName;
}
public String getFileType() {
return this.fileType;
}
@Override
public int compareTo(FileListData fileListData) {
if (this.fileType.equals(fileListData.getFileType())) {
int len = this.fileName.length();
if(fileListData.getFileName().length() < len) len = fileListData.getFileName().length();
for(int i = 0; i < len; i++){
int ia = (int) this.fileName.toUpperCase().charAt(i);
int ib = (int) fileListData.getFileName().toUpperCase().charAt(i);
if(ia == ib) continue;
//Integer.compare内部对比结果:
//ia > ib 返回 1;ia < ib 返回 -1;ia = ib 返回 0
return Integer.compare(ia, ib);
}
return 0;
} else if (this.fileType.equals("Directory")) {
return -1;
} else return 1;
}
}
初使化自定义数组
ArrayList<FileListData> lstFiles = new ArrayList<FileListData>();
在需要排序的地方调用列表的排序功能,按照上面自定义的 compareTo 进行排序
Collections.sort(lstFiles);
Android List数组列表自定义排序的更多相关文章
- [转载]EF或LINQ 查询时使用IN并且根据列表自定义排序方法
原文地址:EF或LINQ 查询时使用IN并且根据列表自定义排序方法作者:李明川 EF和LINQ改变了原有的手写SQL时期的一些编码方法,并且增强了各数据库之间的移植性简化了开发时的代码量和难度,由于很 ...
- EF或LINQ 查询时使用IN并且根据列表自定义排序方法
EF和LINQ改变了原有的手写SQL时期的一些编码方法,并且增强了各数据库之间的移植性简化了开发时的代码量和难度,由于很多人不熟,经常会碰到一些写SQL语句时经常会用到的一些方法,而使用EF或LINQ ...
- JS实现对数组进行自定义排序
/** * 数组排序 * @param source 待排序数组 * @param orders 排序字段数组 * @param type 升序-asc 倒序-desc * 调用:var res = ...
- Java对数组和列表的排序1.8新特性
Java对数组列表的排序 数组 Integer[] a = new Integer[] { 1, 2, 3, 4, 5, 6, 9, 8, 7, 4, 5, 5, 6, 6 }; Arrays.sor ...
- java中数组操作,正序,逆序,子数组、自定义排序
// 数组定义,初始化 int[] array = new int[]{1, 2, 2, 1}; int[] dest = new int[10]; Integer[] soul = new Inte ...
- fastjson的常用用法以及自定义排序
fastJson的四种常用方法 JSON 转 POJO public static <T> T getObject(String pojo, Class<T> tclass) ...
- Objective-C之NSArray(数组)默认排序与自定义排序
在讲OC中数组的排序之前我先上一段代码,它是简单数组排序的一种方法(也就是元素是字符串或者数据的数组,因为后面要讲元素为类的数组排序) 代码1: NSArray *sortArr4 = [sortAr ...
- php中数组自定义排序
php中数组自定义排序方法有很多,现在只提usort();不会保留原有键名. unsort调用方法就是unsrot($arr,func); 注意: 如果func是写在当前类中的话,那么调用的方式是 u ...
- js将对象数组按照自定义规则排序
javascript对一个对象数组进行自定义规则排序,对象中有两个字段. 按照对象中一个字段a的值从小到大规则排序, 效果如下: 排序前: [0]:a=9,b=3 [1]:a=33,b=7 [2]:a ...
- php自定义排序数组usort和uasort(uasort保持索引关联)(usort($arr, "cmp");)(比较函数时很普通函数的写法:function cmp($a, $b))
php自定义排序数组usort和uasort(uasort保持索引关联)(usort($arr, "cmp");)(比较函数时很普通函数的写法:function cmp($a, $ ...
随机推荐
- Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
2025跨平台ai实战electron35+vite6+arco仿DeepSeek/豆包ai流式打字聊天助手. electron-deepseek-chat:实战ai大模型对话,基于vue3.5+el ...
- 什么是 Java 中的 JIT(Just-In-Time)?
Java 中的 JIT(Just-In-Time)编译器 1. JIT 的定义 JIT(Just-In-Time)编译器是一种用于 Java 虚拟机(JVM)的动态编译技术.它在 Java 程序运行时 ...
- 获取IP地址避免XFF攻击(使用nginx)
//以下代码可以获取到客户端IP,但是可能会有XFF攻击,伪造IP地址 request.getHeader("x-forwarded-for"); 解决办法 //从Nginx中X- ...
- Java5新特性--可变参数
可变参数 public class Test01 { public static void main(String[] args) { System.out.println(add(123)); Sy ...
- 突破Excel百万数据导出瓶颈:全链路优化实战指南
在日常工作中,Excel数据导出是一个常见的需求. 然而,当数据量较大时,性能和内存问题往往会成为限制导出效率的瓶颈. 当用户点击"导出"按钮时,后台系统往往会陷入三重困境: 内 ...
- DNSPY调试引用dll
(1) 点击"调试",选择需要调试的可执行程序 (2) 点击"确定"后,打开程序,再点击"调试"-"窗口"-模块 (3) ...
- React Native开发鸿蒙Next---富文本浏览
React Native开发鸿蒙Next---富文本浏览 最近在继续开发App剩余的社区功能.地铁的社区相对较为特殊,只有公告/政策规章/操作指南等资讯阅读功能,无法进行交互.对于原先的社区RN,除了 ...
- WPF 使用GDI+提取图片主色调并生成Mica材质特效背景
先看效果,在浅色模式下: 在深色模式下: P.S. 此算法只是尽可能地接近Windows Mica效果,并非实际实现:主色调提取算法只能确保在绝大多数情况下适用. 测试项目在Github上开源: Tw ...
- 介绍注解 @FeignClient 日志打印功能
OpenFegin的日志打印功能是什么?Feign提供了日志打印功能,可以通过配置来调整日志级别,从而了解Feign执行Http请求的细节.通俗地说,就是对Feign接口的调用情况进行监控和输出. ...
- Windows加域后通过注册表取消壁纸锁定更换壁纸
打开注册表: 开始--运行--regedit (快捷键Win+R) 然后找到HKEY_CURRENT_USER ==> Software ==> Microsoft ==> Wind ...