java按当前日期排序列表,然后按日期比较
我有一个对象的数组列表Foo(int id, Date date)
我如何对这个ArrayList进行排序,使其看起来像下面这样
id = 3, date = 07 Nov 2016
id = 2, date = 08 Nov 2016
id = 5, date = 30 Nov 2016
id = 1, date = 05 Nov 2016
id = 4, date = 04 Nov 2016
前三个对象在将来首先按最近(到现在)排序,后两个对象在过去首先按最近(到现在)排序
# 1 楼答案
按
date
对列表进行排序,查找date
小于today
的最后一项,将项从第一项移动到找到的项,再移动到列表的末尾# 2 楼答案
要按多个条件排序,您需要一个复合比较器:
即: