java - 具有多值键的映射?

标签 java optimization

我已经用 Java 创建了 Policy 的实现适用于特定Namespace的对象。

它们存储在 Map<Namespace,List<Policy>> 中结构,以便我可以通过调用 .containsKey() 轻松检索特定命名空间的策略和.get()在 map 上。为此我已经覆盖 equals()hashCode()根据JVM规则。工作得很好。

现在要求正在发生变化,并且 Namespace突然由一个值列表组成,其中相等规则是“其中一个值必须匹配”。换句话说,如果 Namespace A 中存储的值之一与 Namespace B 中存储的值之一匹配他们是“平等的”。

显然是压倒一切的hashCode()不再工作,因为我不知道要代表哪个值的代码。

如何才能最好地使我的设计适应新的平等规则?我还应该使用 Map或者有适合我的情况的模式吗?

最佳答案

关于java - 具有多值键的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095810/

相关文章:

java - 如何使用 YouTube API V2 获取可断点上传的响应?

java - 将 Enumeration<String> 转换为 Enumeration<object>

java - chromedriver 在前台运行的 windows jenkins 从设备上失败

mysql - 找出表中某列中最长条目的长度

c# - 在 C# 和 C++ 中将 float / double 乘以 0.5 而不是除以 2 是否安全?

Python优化

c++ - OpenGL:将 Z 深度设置为统一与在顶点内冗余存储

java - 文本区域中的上下移动按钮

java - 获取文件路径不是apache tomcat路径

arrays - 使用线段树查找范围内第一个和最后一个元素、倒数第二个和倒数第二个元素的乘积之和