【发布时间】:2018-02-22 05:03:17
【问题描述】:
我有两个 Hashmaps Map1<List,List> 和 Map2<List,List> ,键列表包含两个映射的两个元素 - 字符串 name and time。
我想遍历 Map1 并检查 map1 的键是否包含在映射 2 中,但由于我的键有 2 个元素,我只想根据时间进行比较。
for (Entry<List, List> entry : Map1.entrySet()) {
if("Map2.contains(entry.getKey().get(1))"){
}
}
example: Map1 ,Key1: student1, 14:30:20(time of entering class)
Map1 ,Key2: student1, 14:30:12
Map2 ,Key1: student2, 14:30:13
Map2 ,Key2: student2, 14:30:20
注意:这只是一个例子:我想看看 student1 和 student2 是否同时进入班级。 在这个例子中,第一行和最后一行匹配应该返回 true
这可能吗?如果是,我的if条件应该是什么?
【问题讨论】:
-
您可能需要再次考虑您的
key。List作为 key 不是很好的选择。 -
除非您提供更多信息,例如地图类型和它可能使用的任何比较器,否则您基本上必须进行线性搜索。
-
是的,潜在的可变键是一个糟糕的主意
-
这并不能解释任何事情,只是这是一个 xy 问题。请提出一个正确的问题,解释您实际想要达到的目标。请务必包含输入示例和包含代码的当前尝试描述
-
这是一个完美的例子,说明为什么显示实际代码是个好主意。