ハッシュマップを複数のキーで並べ替えたいのですが、現時点では次のコードを使用しています
Collections.sort(ilv2, new Comparator<HashMap<String,String>>() {
public int compare(HashMap<String, String> arg0, HashMap<String, String> arg1) {
// TODO Auto-generated method stub
Time d1 = Time.valueOf(arg0.get("stamp"));
Time d2 =Time.valueOf(arg1.get("stamp"));
return d1.compareTo(d2);
}
});
Hasmap ilv2は、時間キー "stamp"で並べ替えられますが、SQLステートメント "order by res_id、stamp"のように、キーres_id(int)で並べ替えてから、時間で並べ替えたいと思います。
編集:与えられた答えに基づく解決策
Collections.sort(ilv2, new Comparator<HashMap<String,String>>() {
public int compare(HashMap<String, String> arg0, HashMap<String, String> arg1) {
// TODO Auto-generated method stub
int i = 0;
int r1 = Integer.valueOf(arg0.get("resid"));
int r2 = Integer.valueOf(arg1.get("resid"));
i = r1-r2;
if(i==0){
Time d1 = Time.valueOf(arg0.get("stamp"));
Time d2 =Time.valueOf(arg1.get("stamp"));
i = d1.compareTo(d2);
}
return i;
}
});