使用Collections获取HashMap中的最大值的键

汤姆·奥克利

我有一个任意对象的HashMap,Double其值为:HashMap<MyObject, Double> myMap = new HashMap<>();我可以DoubleHashMap使用中获得最大值Collections.max(myMap.values());但是我需要获取该值的对应键。有没有一种简单的方法可以使用CollectionsAPI进行操作,还是需要迭代器?我已经考虑过要获取最大值的位置,然后查询HashMap的位置并获取键,但是我不确定该怎么做。

编辑:HashMap如有必要,我可以将类型从a更改为其他类型,但是这两种类型(对象和双精度)需要保持相同。

安迪·特纳(Andy Turner)

只需迭代条目集以寻找最大值:

Map.Entry<MyObject, Double> maxEntry = null;
for (Map.Entry<MyObject, Double> entry : map.entrySet()) {
  if (maxEntry == null || entry.getValue() > maxEntry.getValue()) {
    maxEntry = entry;
  }
}
MyObject maxKey = maxEntry.getKey();  // Might NPE if map is empty.

或者,如果要获取所有具有最大值的键:

double maxValue = null;
List<MyObject> maxKeys = new ArrayList<>();
for (Map.Entry<MyObject, Double> entry : map.entrySet()) {
  if (maxValue == null || maxValue.equals(entry.getValue())) {
    maxValue = entry.getValue();
    maxKeys.add(entry.getKey());
  } else if (entry.getValue() > maxValue) {
    maxValue = entry.getValue();
    maxKeys.clear();
    maxKeys.add(entry.getKey());
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用多个键从哈希表中获取最大值

来自分类Dev

使用半已知键在ArrayList的HashMap中查找最大值和最小值-Java

来自分类Dev

使用半已知键在ArrayList的HashMap中查找最大值和最小值-Java

来自分类Dev

获取某些值中字典中最大值的键

来自分类Dev

获取Spark RDD中每个键的最大值

来自分类Dev

从数组中获取5个最大值的键

来自分类Dev

如何在HashMap中搜索值以找到最大值,然后返回该值和键?

来自分类Dev

使用xpath获取表中的最大值

来自分类Dev

从字典中获取最大值

来自分类Dev

从SML列表中获取最大值

来自分类Dev

在Java中获取最大值sql

来自分类Dev

从表中获取最大值

来自分类Dev

在datagridview中获取最大值

来自分类Dev

从列表中获取上限最大值

来自分类Dev

获取元组列表中的最大值

来自分类Dev

python-在字典中获取具有第二和第三最大值的键

来自分类Dev

获取字典内列表列表中每个键的最大值列表

来自分类Dev

如何从对象acc的arrat中获取最大值。到不同的-不同的键

来自分类Dev

无法使用注释获取最大值

来自分类Dev

无法使用长键在 Thymeleaf 中获取 HashMap 值

来自分类Dev

如何通过分组结果的键获取最大值

来自分类Dev

Javascript数组通过键获取最大值

来自分类Dev

Clojure - 获取具有最大值 ArrayMap 的键

来自分类Dev

查找键的最大值

来自分类Dev

MongoDB罗盘-从文档中的3个字段及其值中获取最大值的字段名称(键)

来自分类Dev

如何使用Java 8在List <TreeMap <Integer,Integer >>中查找特定键的最大值

来自分类Dev

如何使用Java 8在List <TreeMap <Integer,Integer >>中查找特定键的最大值

来自分类Dev

使用OpenMP的数组中的最大值

来自分类Dev

从MySQL中的表中获取最大值,不同值

Related 相关文章

  1. 1

    使用多个键从哈希表中获取最大值

  2. 2

    使用半已知键在ArrayList的HashMap中查找最大值和最小值-Java

  3. 3

    使用半已知键在ArrayList的HashMap中查找最大值和最小值-Java

  4. 4

    获取某些值中字典中最大值的键

  5. 5

    获取Spark RDD中每个键的最大值

  6. 6

    从数组中获取5个最大值的键

  7. 7

    如何在HashMap中搜索值以找到最大值,然后返回该值和键?

  8. 8

    使用xpath获取表中的最大值

  9. 9

    从字典中获取最大值

  10. 10

    从SML列表中获取最大值

  11. 11

    在Java中获取最大值sql

  12. 12

    从表中获取最大值

  13. 13

    在datagridview中获取最大值

  14. 14

    从列表中获取上限最大值

  15. 15

    获取元组列表中的最大值

  16. 16

    python-在字典中获取具有第二和第三最大值的键

  17. 17

    获取字典内列表列表中每个键的最大值列表

  18. 18

    如何从对象acc的arrat中获取最大值。到不同的-不同的键

  19. 19

    无法使用注释获取最大值

  20. 20

    无法使用长键在 Thymeleaf 中获取 HashMap 值

  21. 21

    如何通过分组结果的键获取最大值

  22. 22

    Javascript数组通过键获取最大值

  23. 23

    Clojure - 获取具有最大值 ArrayMap 的键

  24. 24

    查找键的最大值

  25. 25

    MongoDB罗盘-从文档中的3个字段及其值中获取最大值的字段名称(键)

  26. 26

    如何使用Java 8在List <TreeMap <Integer,Integer >>中查找特定键的最大值

  27. 27

    如何使用Java 8在List <TreeMap <Integer,Integer >>中查找特定键的最大值

  28. 28

    使用OpenMP的数组中的最大值

  29. 29

    从MySQL中的表中获取最大值,不同值

热门标签

归档