使用某个范围内的键</integer,>从Map <integer,string =“”>中检索所有条目

时间:2011-11-22 12:15:01

标签: java collections map

我需要一个HashMap&lt;整数,字符串&gt;它可以提供快速操作,用于检索其键位于某个整数范围内的所有条目的列表,从基于键的映射中获取值。

哪种Map实施适合这些需求?

3 个答案:

答案 0 :(得分:3)

您可能正在寻找NavigableMap。但是,您无法使用HashMap创建一个,因为地图必须是SortedMap。请考虑改为使用TreeMap

答案 1 :(得分:2)

TreeMap将提供按键排序列表。然后,您需要修剪列表以获得您的值范围。

答案 2 :(得分:2)

使用TreeMap,它实现NavigableMap提供subMap方法,只返回您范围内的键的地图视图。要获取值,您当然可以在结果上调用values()

如果您的密钥实现Map的现有Comparable,您可以通过调用TreeMap从中构建new TreeMap(existingMap),但创建它可能会更有效它从一开始就是TreeMap