【发布时间】:2010-05-20 13:28:24
【问题描述】:
我需要将数据存储在内存中,在内存中我将一个或多个键字符串映射到一个对象,如下所示:
"green", "blue" -> object1
"red", "yellow" -> object2
因此,在 Java 中,数据结构可能会实现:
Map<Set<String>, V>
我需要能够有效地接收对象列表,其中字符串匹配一些布尔标准,例如:
("red" OR "green") AND NOT "blue"
我正在使用 Java,因此理想的解决方案是现成的 Java 库。但是,如有必要,我愿意从头开始实施。
有人有什么想法吗?如果可能的话,我宁愿避免内存数据库的开销,我希望在速度上可以与 HashMap 相媲美(或至少相同的数量级)。
【问题讨论】:
-
在您的示例中,“绿色”是否映射到 object1?还是只有“绿色”和“蓝色”映射到 object1?
-
"green" 和 "blue" 就像 object1 上的 "tags" - 然后您可以通过对这些标签的布尔查询来选择对象。
-
“绿色”也能映射到一些
object3吗?
标签: java data-structures boolean-logic