有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基于密钥子集匹配条目的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) 个答案