首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在HashSet/HashMap java中查找最大的数字

在HashSet/HashMap java中查找最大的数字
EN

Stack Overflow用户
提问于 2013-02-12 19:04:49
回答 7查看 61.5K关注 0票数 25

我想找出HashSet和HashMap中最大的数字。假设我的HashSet中有数字22,6763,32,42,33,我想在我当前的HashSet..how中找到最大的数字,我会这样做吗?HashMap也是如此。我希望你能帮我解决这个问题。谢谢。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-02-12 19:06:41

您可以使用Collections.max(Collection)从任何集合中查找最大元素。类似地,对于HashMap,您可以在其keySet()values()上使用相同的方法,这取决于您想要的是最大键还是最大值。

此外,如果您愿意,也可以使用TreeSetTreeMap,它们以排序的键顺序存储元素。

票数 72
EN

Stack Overflow用户

发布于 2013-02-12 19:10:05

试一试

代码语言:javascript
复制
    int max = Collections.max(set);
    int maxKey = Collections.max(map.keySet());
    int maxValue Collections.max(map.values());
票数 11
EN

Stack Overflow用户

发布于 2013-02-12 19:07:04

如果您被迫使用HashSet/HashMap,那么您必须扫描整个HashSet/HashMap以找到最大值。像Collections.max()这样的库函数会这样做。

如果您想要最大值的O(1)检索,并且允许更改正在使用的集合类型,请使用排序的集合/映射(例如,TreeSet/TreeMap)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14831045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档