Java从LinkedHashMap获取值,其中包含密钥的一部分

我有以下键值系统(HashMap),其中String将是像这样的“2014/12/06”的键.

LinkedHashMap<String, Value>

所以,我可以检索一个知道密钥的项目,但我正在寻找的是一种方法来检索一个值的列表,哪个密钥匹配部分匹配,我的意思是,我怎样才能检索到2014年的所有值?

我想避免像测试列表中的每个项目,暴力或类似的解决方案.

谢谢.

解决方法:

除了迭代所有键的蛮力解决方案,我可以想到两个选项:

>使用TreeMap,其中键被排序,因此您可以找到第一个键是> =“2014/01/01”(使用map.getCeilingEntry(“2014/01/01”))并遍历所有从那里的钥匙.
>使用地图层次结构 – 即Map< String,Map< String,Value>>.外部地图中的关键是年份.内部地图中的关键是完整日期.

上一篇:java – LinkedHashMap到Pojo


下一篇:java – 在实例化地图列表时获取’类型不匹配:无法从ArrayList>转换为List>’