如何检查 Map 中的键是否以给定的字符串值开头
我正在寻找一种像这样的方法:
myMap.containsKeyStartingWith("abc"); // returns true if there's a key starting with "abc" e.g. "abcd"
或
MapUtils.containsKeyStartingWith(myMap, "abc"); // same
我想知道是否有人知道一个简单的方法来做到这一点
谢谢
我正在寻找一种像这样的方法:
myMap.containsKeyStartingWith("abc"); // returns true if there's a key starting with "abc" e.g. "abcd"
或
MapUtils.containsKeyStartingWith(myMap, "abc"); // same
我想知道是否有人知道一个简单的方法来做到这一点
谢谢
这可以通过标准的排序地图
来完成:
Map<String,V> tailMap = myMap.tailMap(prefix);
boolean result = (!tailMap.isEmpty() && tailMap.firstKey().startsWith(prefix));
未排序的映射(例如 )本质上不支持前缀查找,因此对于那些必须迭代所有键的映射。HashMap
从映射中,您可以获得一组键,如果它们是字符串,则可以迭代Set的元素并检查startsWith("abc")