我需要一个HashMap<整数,字符串>它可以提供快速操作,用于检索其键位于某个整数范围内的所有条目的列表,从基于键的映射中获取值。
哪种Map
实施适合这些需求?
答案 0 :(得分:3)
您可能正在寻找NavigableMap
。但是,您无法使用HashMap
创建一个,因为地图必须是SortedMap
。请考虑改为使用TreeMap
。
答案 1 :(得分:2)
TreeMap
将提供按键排序列表。然后,您需要修剪列表以获得您的值范围。
答案 2 :(得分:2)
使用TreeMap
,它实现NavigableMap
提供subMap方法,只返回您范围内的键的地图视图。要获取值,您当然可以在结果上调用values()
。
如果您的密钥实现Map
的现有Comparable
,您可以通过调用TreeMap
从中构建new TreeMap(existingMap)
,但创建它可能会更有效它从一开始就是TreeMap
。