将范围(min-max)映射到单个值,如果值在范围内,则返回java中映射的值

时间:2013-05-06 20:41:56

标签: java map range lookup

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

例如:

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

如果我查找150,我需要有5个结果,对于554 50而不是305 null。

1 个答案:

答案 0 :(得分:1)

如果第三方图书馆是公平游戏,那么这就是Guava TreeRangeMap所做的100%。