Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/java-range-as-map-key.html

java 数值范围作为键的 HashMap 实现

Java 笔记 Java 笔记


如果想要数值范围作为 HashMap 的键,如 1 到 3 的数值映射到同一个值,Google 的 Guava 给出了现成的相关实现,那就是 RangeMap 类。

示例操作

RangeMap 它是一个接口,它的实现只有 TreeRangeMap 一个类,内部其实就是有序哈希对象 TreeMap,具体示例如下:

RangeMap<Integer, String> rangeMap = TreeRangeMap.create();
rangeMap.put(Range.atMost(188), "knowledge");
rangeMap.put(Range.openClosed(188, 2020), "dict");
rangeMap.put(Range.downTo(2020, BoundType.OPEN), ".com");

System.out.println(rangeMap);

输出结果如下:

[(-∞..188]=knowledge, (188..2020]=dict, (2020..+∞)=.com]
这一章中,我们会学到如何从数值范围创建数组。 ...
在 Java 中,如果基本的整数和浮点数精度不能够满足需求,那么可以使用 java.math 包中的两个很有用的类:Biglnteger 和 ...
下面我将介绍三种常见的方式,并为每种方式提供步骤、代码示例以及可能用到的第三方库的Maven和Gradle依赖坐标。示例代码:Maven依赖 ...
Redis 键(keys)命令用于管理 Redis 的键。 ...
Elasticsearch 除了精确值查询外,还支持 range query,即范围查询,它们的查询介于一定范围之内的值,适用于数字、日期及 ...