gpt4 book ai didi

java - 如何检查 java 哈希表是否包含来自另一个哈希表的键值对

转载 作者:行者123 更新时间:2023-11-29 04:49:05 25 4
gpt4 key购买 nike

是否有任何内置的 java 方法来检查一个哈希表是否包含另一个哈希表中存在的所有键值对?

例如:

h1={{0,1},{1,4},{2,5},{3,6}}
h2={{0,1},{2,5}}

在这种情况下,h1 确实包含来自 h2 的键值对。

最佳答案

Hashtable 上没有方法可以让您直接检查它,但您可以使用 entrySet()每个 Hashtable 上的方法来获取 Set 它的所有键值对。

然后你可以使用containsAll()查看其中一个是否是另一个的子集,因为它

Returns true if this set contains all of the elements of the specified collection. If the specified collection is also a set, this method returns true if it is a subset of this set.

例如

//  h1={{0,1},{1,4},{2,5},{3,6}}
Hashtable<Integer, Integer> h1 = new Hashtable<>();
h1.put(0, 1);
h1.put(1, 4);
h1.put(2, 5);
h1.put(3, 6);

// h2={{0,1},{2,5}}
Hashtable<Integer, Integer> h2 = new Hashtable<>();
h2.put(0, 1);
h2.put(2, 5);

Set<Entry<Integer, Integer>> e1 = h1.entrySet();
Set<Entry<Integer, Integer>> e2 = h2.entrySet();

System.out.println(e2.containsAll(e1)); // false
System.out.println(e1.containsAll(e2)); // true

关于java - 如何检查 java 哈希表是否包含来自另一个哈希表的键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36120440/

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