gpt4 book ai didi

java - 检查映射是否包含键或仅输入该值更快吗?

转载 作者:行者123 更新时间:2023-11-30 02:48:58 25 4
gpt4 key购买 nike

如果我知道输入到 map 条目中的值是相同的,我最好检查它是否不在 map 中或只是进行放置?换句话说,就是

if (!map.containsKey(key)){
map.put(key, value);
}

如果我知道键的值是相同的,则比仅仅执行 map.put(key, value) 更好。

背景:我正在尝试计算将 id 映射到一组整数的 map 的所有重叠。例如:给定 {A:1,2,3; B:2、4、6; C:2、3、4; D:1,3,5} 我需要获取这张 map :{AnB:2; AnC:2,3;和:1,3; BnC:2,4; AnBnC:2; AnCnD:3;}。对于我们运行的堆空间较大的集合来说,递归地执行此操作不是一个选择。因此,我通过将下一个“层”添加到现有层上来迭代地执行此操作。因此,为了得到 AnBnC,我采用 AnB 并计算与 C 的交集。但这也意味着我采用 AnC 并计算与 B 的交集,这两者都会给出相同的结果。

谢谢!

最佳答案

我不确定你的直接问题的答案,即哪个更快,但如果你想优化,我建议避免进行不必要的设置交集。类似的东西;

intersectionKey = setA.key + setB.key;
if (!map.containsKey(intersectionKey)) {
intersection = A | B;
map.put(intersectionKey, intersection);
}

关于java - 检查映射是否包含键或仅输入该值更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39298082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com