我在寻找类似的方法:

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)本质上不支持前缀查找,因此对于那些,您必须遍历所有键。

09-28 06:15