我在寻找类似的方法:
myMap.containsKeyStartingWith("abc"); // returns true if there's a key starting with "abc" e.g. "abcd"
要么
MapUtils.containsKeyStartingWith(myMap, "abc"); // same
我想知道是否有人知道这样做的简单方法
谢谢
最佳答案
这可以通过标准的 SortedMap
完成:
Map<String,V> tailMap = myMap.tailMap(prefix);
boolean result = (!tailMap.isEmpty() && tailMap.firstKey().startsWith(prefix));
未排序的 map (例如
HashMap
)本质上不支持前缀查找,因此对于那些,您必须遍历所有键。