我正在寻找一个存储键值对的集合,其中值应该基于键startswith
的条件返回。例如
对于给定的集合:(a,123) (ab,234) (abcd,5434)
带密钥查找的java键值对作为“startswith”
如果我做map.get(a)
它应该给我的{123,234,5434}
阵列,同样的,如果我这样做map.get(ab)
它应该给我{234,5434}
但在这种情况下,不{123}
。
因此,它会查找所有具有完全匹配关键字或开头的值。
有什么建议吗?如果有东西已经存在,或者我可以写点什么?
谢谢!
听起来有点像[线索]( http://en.wikipedia.org/wiki/Trie)。 – Kevin
特别是,您可以使用Apache Commons Collections ['Trie'](https://commons.apache.org/proper/commons-collections/javadocs/api-release/org/apache/commons/collections4/Trie.html )它可以做你想要的。他们有一个['PatriciaTrie'](https://commons.apache.org/proper/commons-collections/javadocs/api-release/org/apache/commons/collections4/trie/PatriciaTrie.html)实现 –