gpt4 book ai didi

java - 如何不按键而是按值类的字段对映射进行排序?

转载 作者:行者123 更新时间:2023-12-01 04:48:38 26 4
gpt4 key购买 nike

我有一张这样的 map :

Map<String, TC> mapToSort= new HashMap<String, TC>(); 

该值是一个类:

class TC {

private int a;

public TC(int a) {
this.a = a;

}
//getters-setters
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}

我想不按键对这个映射进行排序(使用 TreeMap 很容易),而是按 TC 类中的字段“a”变量排序。因此,具有最高“a”值的元素应该位于 mapToSort 的顶部。是否有任何内置或其他优雅的解决方案可以实现此目的?

最佳答案

通过您的类实现 Comparable,然后将它们放入 TreeSet

class TC implements Comparable<TC> {

private int a;

public TC(int a) {
this.a = a;
}
//getters-setters
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}

@Override
public int compareTo(TC tc){
return this.a-tc.getA();
}
}

关于java - 如何不按键而是按值类的字段对映射进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15407571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com