java - 2 HashMaps VS HashMap 包含对
问题描述
在服务开发过程中,遇到一个问题,需要选择两种解决方案中的一种
- 使用 2 个哈希图
- 使用一个包含一对值的哈希映射。
目前我有 2 个哈希表的选项,但是我经常需要使用相同的键从两个哈希表中获取值。
class C {
Map<String, A> a = new HashMap<>();
Map<String, B> b = new HashMap<>();
A getA(String str){return a(str);}
B getB(String str){return b(str);}
}
我正在考虑将代码更改如下
class C {
Map<String, Pair<A, B>> a_b = new HashMap<>();
Pair<A, B> getAB(String str){return a_b.get(str);}
}
在大型哈希表上会更有效吗?
解决方案
我认为这个问题与其说是关于效率或性能,不如说是有意义的。为了回答什么是有意义的,人们必须考虑上下文。如果两个哈希图的值相互依赖并构成一个可以封装到类中的逻辑单元,则使用一个类(如果更有意义,则使用一对)。如果这些值不是直接相关的,并且仅在一个上下文中作为对有意义,而在另一个上下文中作为单独的事物有意义,那么请考虑使用两个映射。
推荐阅读
- javascript - 根据属性值为折线图中的垂直线分配不同的颜色
- discord - JDA - 如何等待下一条消息
- c# - 如何自动在表中每 10 行添加一个新行?
- javascript - 当第二个 td 包含单词时,在第一个 td 中选择输入
- java - 使用 char 的 SQLite 检查约束
- cmake - 如何编写特定的多目标并行可构建 CMakeLists.txt?
- azure-devops - 仪表板中的简单管道状态
- python - 计算一个月内出现了多少个值 Pandas
- python - 替换行中的值 - Pandas
- assembly - MASM:如何解决 8086 编程中的即时模式非法?