我有兴趣在Java中使用仿函数(函数对象).通过快速谷歌搜索我发现这3个包:
而且,JGA似乎可能拥有最好的设计.但我怀疑其他人实际使用过一个或多个软件包可能能够提供更多关于这些(也许是其他)函子包的优缺点的见解.
我需要将数据存储在内存中,我将一个或多个键字符串映射到对象,如下所示:
"green", "blue" -> object1
"red", "yellow" -> object2
Run Code Online (Sandbox Code Playgroud)
因此,在Java中,数据结构可能会实现:
Map<Set<String>, V>
Run Code Online (Sandbox Code Playgroud)
我需要能够有效地接收对象列表,其中字符串匹配一些布尔标准,例如:
("red" OR "green") AND NOT "blue"
Run Code Online (Sandbox Code Playgroud)
我在Java工作,所以理想的解决方案是现成的Java库.但是,如果有必要,我愿意从头开始实施.
有人有主意吗?如果可能的话,我宁愿避免使用内存数据库的开销,我希望能够在速度上与HashMap(或至少相同的数量级)相媲美.