java Map集合中如何去比较整型的Value值得最小值
答案:4 悬赏:30 手机版
解决时间 2021-03-27 13:33
- 提问者网友:浪荡绅士
- 2021-03-27 08:23
java Map集合中如何去比较整型的Value值得最小值
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-03-27 09:10
public class Testing {
public static void main(String[] args) {
HashMap map = new HashMap();
ValueComparator bvc = new ValueComparator(map);
TreeMap sorted_map = new TreeMap(bvc);
map.put("A",99.5);
map.put("B",67.4);
map.put("C",67.4);
map.put("D",67.3);
System.out.println("unsorted map: "+map);
sorted_map.putAll(map);
System.out.println("results: "+sorted_map);
}
}
class ValueComparator implements Comparator {
Map base;
public ValueComparator(Map base) {
this.base = base;
}
// Note: this comparator imposes orderings that are inconsistent with equals.
public int compare(String a, String b) {
if (base.get(a) >= base.get(b)) {
return -1;
} else {
return 1;
} // returning 0 would merge keys
}
}
public static void main(String[] args) {
HashMap
ValueComparator bvc = new ValueComparator(map);
TreeMap
map.put("A",99.5);
map.put("B",67.4);
map.put("C",67.4);
map.put("D",67.3);
System.out.println("unsorted map: "+map);
sorted_map.putAll(map);
System.out.println("results: "+sorted_map);
}
}
class ValueComparator implements Comparator
Map
public ValueComparator(Map
this.base = base;
}
// Note: this comparator imposes orderings that are inconsistent with equals.
public int compare(String a, String b) {
if (base.get(a) >= base.get(b)) {
return -1;
} else {
return 1;
} // returning 0 would merge keys
}
}
全部回答
- 1楼网友:迟山
- 2021-03-27 11:50
逐个比较一下不就可以了?
- 2楼网友:上分大魔王
- 2021-03-27 10:52
能想到的,只能是根据key取出所有value再进行比较吧
- 3楼网友:傲气稳了全场
- 2021-03-27 09:20
那就需要你循环这个map,然后把每一个的值取出来进行比较,定义一个接收最小值的变量,
第一次把值,赋值给这个变量,后面的循环取出每一个值和他这个进行比较,比这个值小的,就赋值给他,
循环完成后,就得到最小的值了。追问求代码,新手!
第一次把值,赋值给这个变量,后面的循环取出每一个值和他这个进行比较,比这个值小的,就赋值给他,
循环完成后,就得到最小的值了。追问求代码,新手!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯