0

我想将 HashMap 转换为 Set。我试图通过首先将其放入集合并使用 retainAll.How 将 Map 转换为 Set 来找到两个映射之间的公共元素。

4

3 回答 3

2

如果您想要一个包含键的集合,请使用:

Set<KEY_TYPE> set = map.keySet();

如果您想要一个包含值的集合,请使用:

Set<VALUE_TYPE> set = new HashSet<VALUE_TYPE>(map.values());

如果您想要一个包含两个元素的集合,请使用:

Set<Map.Entry<KEY_TYPE, VALUE_TYPE>> set = map.entrySet();

您访问EntryusinggetKey()getValue()

于 2013-10-24T18:02:22.840 回答
1

HashMap 有一个键集和一个值集,为了保持关联性,HashMap 有一个方法叫做

entrySet()

你可以在这里找到更多信息

于 2013-10-24T18:06:17.750 回答
0

正如我从评论中看到的,您需要键值对。这可以很容易地从地图上得到。这是一个例子:

Map<Integer, String> myMap = new HashMap<Integer, String>();
// ... put values into your map

Set<Entry<Integer, String>> entrySet = myMap.entrySet();

虽然从你的问题来看,我不确定这就是你想要的。也许您应该改写您的问题并发布您到目前为止所做的代码,以便我们可以了解您需要帮助的确切位置。

于 2013-10-24T19:21:39.903 回答