我想通过Unix时间戳对ArrayList<HashMap<String,String>>
内的数据进行排序。
我有两个arraylists,我合并它们:arraylist1.addall(arraylist2);
。但我无法通过Unix时间戳降序(最新的第一个)对数据进行排序。
Arraylist 1:
[{id=1, name=Aa, time=1394500000},
{id=2, name=Ab, time=1394500001},
{id=3, name=Ac, time=1394500002}]
Arraylist 2;
[{id=1, name=AA, time=1394500001},
{id=2, name=AA, time=1394500000},
{id=3, name=Ac, time=1394500005}]
我非常感谢任何帮助。在此先感谢。
答案 0 :(得分:2)
似乎有一个更好的想法来创建一个类来保存这些属性。
class MyData {
private int id;
private String name;
private long time;
//all other stuff
}
然后只需使用ArrayList<MyData>
并使用Collections.sort
和自定义比较器对其进行排序。
Collections.sort(myList, new Comparator<MyData>(){
@Override
public int compare(MyData o1, MyData o2) {
return Long.compare(o1.getTime(), o2.getTime());
}
};