关于Java中的HashMap <>的另一个问题:
我有以下内容
Map<String, Set<Integer>> myWordDict = new HashMap<String, Set<Integer>>();
Run Code Online (Sandbox Code Playgroud)
在将数据存储到变量中之后myWordDict,我想迭代HashMapValues,并将每个值添加到新的Set变量中?
当我尝试这样做时Set<Integer> newVariable = myWordDict.entrySet(),似乎数据类型不兼容.
所以我的问题基本上是:
如何将HashMap值或entrySet()转换为Set?
谢谢
Kam*_*rya 17
尝试:
Set<Integer> newVariable = mywordDict.keySet();
Run Code Online (Sandbox Code Playgroud)
要么
Set<Integer> newVariable = new HashSet<Integer>(myWordDict.values());
Run Code Online (Sandbox Code Playgroud)
Mas*_*dul 10
您的声明应如下所示.它会将您的地图值转换为Collection
Collection<Set<Integer>> newVariable = myWordDict.values();
Run Code Online (Sandbox Code Playgroud)
public Set<Map.Entry<K,V>> entrySet()
Run Code Online (Sandbox Code Playgroud)
返回此映射中包含的映射的Set视图.该集由地图支持,因此对地图的更改将反映在集中,反之亦然.
如果你想迭代myWordDict哈希映射那么
for(Map.Entry<String, Set<Integer>> entry : myWordDict.entrySet())
{
Set<Integer> newVariable = entry.getValue();
}
Run Code Online (Sandbox Code Playgroud)
相关链接