Java 如何获取特定键内的所有映射值?

标签 java dictionary hashmap key double

现在我有一个像这样的 map :

Map<Double, MyObject> map = new HashMap<Double, MyObject>();

我想获取 2.07.0 之间的所有键值。我的 Map 中有数千个不同的值,因此循环遍历每个 key-value 集会对性能造成很大影响。有什么办法可以解决这个问题吗? (或者是否有某种特殊的 map ,用于有数字键?)感谢您的帮助;)

最佳答案

使用 TreeMap反而。通过其NavigableMap接口(interface),可以进行范围操作。

NavigableMap<Double, MyObject> map = new TreeMap<>();
Collection<MyObject> keys = map.subMap(2D, 7D).values();

关于Java 如何获取特定键内的所有映射值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24214758/

相关文章:

java - HashMap 中的重复值

java - Selenium :- In my application there is button whose id is getting randomly generated, 如何找到那个按钮

java - Cassandra 绑定(bind)语句和内存泄漏

java - 从 Java 运行 native dll 时线程 "main"java.lang.UnsatisfiedLinkError : Native. initiate(I)V 中的异常

java - Hazelcast 获取 Imap 中 key 的 ttl

ruby-on-rails - 如何在 ActiveRecord 类方法中使用 'map' 方法?

c++ - 为什么 STL map 不起作用?

python - 将有序字典的可迭代转换为 pandas 数据帧

python - 如何将具有坐标和频率的字典转换为矩阵?

java - 通过数组方法返回HashMap值和键