java - 将范围(最小-最大)映射到单个值,如果某个值在某个范围内,则返回在 java 中映射的值

标签 java dictionary range lookup

我需要将不同的间隔映射到不同的单个值。
间隔为 long 类型,由 min 和 max 组成。该值是短的。 间隔不重叠,但可以是连续的。 我想查找一个值是否包含在一个区间中,并且在正的情况下返回映射到该区间的值。否则返回 null。

例如:

Range => Value  
100-200 => 5  
500-800 => 50  
201-300 => 50

如果我查找 150,我需要得到 5 作为结果,即 554 50,而不是 305 null。

最佳答案

如果第三方库是公平游戏,那么这 100% 正是 Guava 的 TreeRangeMap确实如此。

关于java - 将范围(最小-最大)映射到单个值,如果某个值在某个范围内,则返回在 java 中映射的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16406943/

相关文章:

java - 带注释的私有(private)类属性的容器注入(inject)如何在 java 中工作?

java - 在字符串中查找子字符串的位置(不是 indexOf)

java - 如何使用 jSTL 迭代 map ?

java - 在 Immutables 中执行特定的 Map 实现

excel - 开始/结束时间在范围内(并跨越午夜)

JAVA API Servlet异步调用

list - Elixir:将列表转换为具有整数键的映射

java - Guava 的 RangeSet/Range 中没有 "size"的概念?

javascript - 将范围扩展到 url

java - Minecraft 1.7.2 高效设置纹理