我有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

08-05 19:20