Sort ArrayList <hashmap <string,string>&gt;通过Unix time-stamp </hashmap <string,string>

时间:2014-03-13 15:33:59

标签: java arraylist

我想通过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}]

我非常感谢任何帮助。在此先感谢。

1 个答案:

答案 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());  
        }
};