我有8个字段的哈希图。在这2个中,是id和idseq。两者都是整数。类似的idseq可以有多个,但不能有一个id。可以基于这两个对搭扣地图进行排序吗?
最佳答案
创建一个包含这两个整数值的键,并将其用作地图的键。将此键设置为Comparable并在那里实现您的排序逻辑。
像这样:
class MyCustomKey implements Comparable<MyCustomKey> {
final int id;
final int idSeq;
public MyCustomKey(int id, int idSeq) {
this.id = id;
this.idSeq = idSeq;
}
public int getId() {
return this.id;
}
public int getIdSeq() {
return this.idSeq;
}
@Override
public int compareTo(MyCustomKey o) {
// your compare logic goes here
return -1;
}
}
然后,您可以将其用作地图的键,如果应该对其进行排序,最好使用TreeMap。