基于密钥子集匹配条目的java哈希/映射
是否有一个映射实现可用于确定映射中是否存在某个键的子集
例如,考虑一组字符串所键入的映射:
Map<Set<String>, Object> map = new SomeExoticMap<>();
如果我们增加价值:
Set<String> key = new HashSet<>();
key.add("1");
key.add("2");
map.put(key, "foo");
我想确定地图中是否存在任何条目密钥子集的条目:
Set<String> subset = new HashSet<>();
subset.add("2");
assert true == map.containsKey(subset);
我还想了解我的关键子集匹配的所有值:
List<Object> matchedValues = map.subsetValues(subset);
assert matchedValues == Arrays.asList("foo");
显然,这个问题可以通过线性搜索来解决,但这不能满足我的需求。有没有像地图一样的数据结构可以做这种事情?如果没有,人们将如何着手建造一个呢
共 (0) 个答案