先说遇到的问题吧,,,ArrayList<String>  里面存放的本地文件路径,然后通过这个路径找到文件,按照文件的最后修改时间排序,,,,提起来没啥问题的,。,,当时写的代码这样的: 
         //根据路径对应的文件最后修改时间排序
private class SortByLastModifyTime implements Comparator {
@Override
public int compare(Object o1, Object o2) {
 try {
File file1 = new File((String)o1);
 File file2 = new File((String)o2);
 if (file1.lastModified() < file2.lastModified()){
 return 1;
 }else{
 return 0;
 }
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return 0;
}
}
}
   //最后发现,怎么都不能实现排序,,,搞得人郁闷啊。,。,,奇怪怎么回事呢》?
    检查代码都没问题吧,,,但是我还是相信,肯定是我的原因, 没办法,找吧。。。。
   最后查看文档,发现返回值有正数,0,有负数。。。。那我上面为啥只写正数1,0呢》? 为啥没负数呢?
  原因找到了:

int compare(Object o1, Object o2) 返回一个基本类型的整型
   如果要按照升序排序,
     则o1 小于o2,返回-1(负数),相等返回0,01大于02返回1(正数)
    如果要按照降序排序
     则o1 小于o2,返回1(正数),相等返回0,01大于02返回-1(负数)

所以: 上面的问题就很明显了,

//根据路径对应的文件最后修改时间排序
private class SortByLastModifyTime implements Comparator {

@Override
public int compare(Object o1, Object o2) {
 try {
File file1 = new File((String)o1);
 File file2 = new File((String)o2);
 if (file1.lastModified() < file2.lastModified()){
 return 1;
 }else{
 return -1;
 }
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return -1;
}
}

}

总结: 其实写代码遇到问题很正常的,保持一个平和的心态去解决,一切都可以搞定的

JAVA ArrayList利用Comparator实现自定义排序相关推荐

  1. Java之——利用Comparator接口对多个排序条件进行处理

    转载自:http://blog.csdn.net/l1028386804/article/details/56513205 膜拜大神··· 一.需求 假设现在有个如此的需求:需要对一个这样的雇员列表进 ...

  2. java ArrayList按照某个属性升序排序

    后端返回的数据,有时候需要做排序检查,或者客户端自己写排序.按照Bean中的某一个属性生序排列. public class ListSortTest {static class WorkBean {p ...

  3. java后台实现自定义排序,java 两种方式实现自定义排序

    package test; //Comparable 使对象本身具有可比性,这种方式称为元素的自然顺序或默认顺序 //Comparator 元素自身不具备比较性或者比较性不是所需要的,在集合初始化让其 ...

  4. Spark自定义排序

    1 当rdd是键值对的时候可以使用sortByKey进行排序,按照key进行排序,可以指定升序和降序 2 sortBy自定义字段进行排序 3 还可以在自定义类型时,继承Ordered,重写方法进行排序 ...

  5. Java针对ArrayList自定义排序的2种实现方法

    这篇文章主要介绍了Java针对ArrayList自定义排序的2种实现方法,结合实例形式总结分析了Java操作ArrayList自定义排序的原理与相关实现技巧,下面就和动力节点java学院小编一起来看看 ...

  6. java 自定义对象 排序,使用自定义排序顺序对对象的ArrayList进行排序

    问题 我希望为我的地址簿应用程序实现一个排序功能. 我想排序anArrayList contactArray.Contact是一个包含四个字段的类:名称,家庭电话号码,手机号码和地址.我想排序name ...

  7. java排序接口_详解JAVA使用Comparator接口实现自定义排序

    1.原则 Comparator接口可以实现自定义排序,实现Comparator接口时,要重写compare方法: int compare(Object o1, Object o2) 返回一个基本类型的 ...

  8. Java Arraylist 如何使用 Comparator排序

    Java Arraylist 如何使用 Comparator排序import java.util.ArrayList; import java.util.Collections; import jav ...

  9. java list集合自定义排序_Java 通过 Comparator comparing 对 list 自定义 排序

    摘要: 在日常开发中,经常会用到排序算法,这里记录下日常使用比较多的排序方法,其中包括按指定指定:正序.倒序排序,还有按自定义字段排序的方法,方便日后查看: 一:按指定字段排序,默认倒序,如下写法: ...

最新文章

  1. java hibernate configuration 获取_1 Hibernate Configuration 配置
  2. .Net Core 项目引用本地类库方式(二)
  3. dns tunnel工具地址
  4. 汇编cli(Clear Interrupt,禁止中断、关中断,对应的sti是开中断)
  5. Windows与VMware下的Linux文件共享方式总结
  6. 获得Google搜索字符串中的关键字
  7. Linux_unix系统编程手册以同步方式等待信号
  8. android 图片浏览控件_Android自动化测试23--Appium同步点
  9. CNN的卷积运算为何使用互相关而不是卷积
  10. C#中DateTime的缺陷与代替品DateTimeOffset
  11. 【Python + Selenium】之JS定位总结
  12. 机器学习面试——逻辑回归和线性回归
  13. pytorch深度学习-机器视觉-目标检测和边界框简介
  14. 最大连续1的个数 三 窗口大小固定,逻辑连续但实际上并不连续的滑动窗口
  15. HTML学习总结(2)——标题/水平线/注释/段落/折行/文本格式化
  16. 天网防火墙Athena 2006正式发布
  17. 12个常见idea快捷键
  18. 洛谷P2122 还教室
  19. 企业请专职SEO和外包给科技公司做优化,有什么不同?
  20. 计算机wps文字背景怎么设置,如何在wps文本中添加背景以及如何将图片设置为页面背景...

热门文章

  1. 《机器学习》(西瓜书)周志华 -学习心得
  2. python做统计字符_python统计字符个数
  3. 20岁白富美写了一本高数教材,震惊欧洲数学界------阿涅西的箕舌线
  4. 监控常用词语英汉对照表
  5. 高中生计算机竞赛取消了么,有了强基计划,你还会让孩子参加信息奥赛吗?
  6. 北大光华女的超强面经!
  7. 机器视觉标定(calibration)关键尝试(标定的重要意义度量衡)(A)
  8. DirectX学习笔记--3D基本数学知识整理
  9. win10 uwp 获得缩略图
  10. java实现快速排序以及快速排序的原理