HashSet set=map.entrySet();//将map类型数据转换成集合set类型的。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashSet set=map.entrySet();//将map类型数据转换成集合set类型的。相关的知识,希望对你有一定的参考价值。

在迭代的时候,为什么要把map集合转换成set集合?

HashSet集合按hash方式存储数据,内部数据无序不可重复可为空,存取效率很高,通过对set的迭代遍历将
(Entry)it.next()强制转化为Entry用Map.Entry接收,完整表达是:Map.Entry m=(Entry)it.next();利用
m.getKey()和m.getValue()方法很清楚方便的得到map中键值对。希望对你有帮助
参考技术A 就是为了能遍历啊。否则你能把map类型遍历吗。

Map集合

遍历map集合有三种:

1.通过map.keySet()获取key的Set集合;

2.通过map.values()获取所有的value的Collection集合;

3.通过map.entrySet()获取所有的Set键值对集合;

获取key,value的集合后通过迭代器Iterator遍历;

实例代码:

Map<String,Object> map = new HashMap();
map.put("1",1);
map.put("2",‘s‘);
map.put("3","z");
map.put("4",true);
map.put(null,"0");

/**
* Map.keyset 获取key的集合
*/
Set<String> keySet = map.keySet();
Iterator<String> iterator = keySet.iterator();
while (iterator.hasNext())
String next = iterator.next();
Object o = map.get(next);
System.out.println(o);


/**
* 获取value的集合
*/
Collection<Object> values = map.values();
Iterator<Object> it = values.iterator();
while (it.hasNext())
Object next = it.next();
System.out.println(next);


/**
* 获取key-value键值对集合
*/
Set<Map.Entry<String, Object>> entries = map.entrySet();
Iterator<Map.Entry<String, Object>> ite = entries.iterator();
while (ite.hasNext())
Map.Entry<String, Object> next = ite.next();
System.out.println(next.getKey()+": "+next.getValue());

 

以上是关于HashSet set=map.entrySet();//将map类型数据转换成集合set类型的。的主要内容,如果未能解决你的问题,请参考以下文章

另一种遍历Map的方式: Map.Entry 和 Map.entrySet()

使用HashMap须要注意的事儿:不要暴露Map.entry给外部不可信代码Map.entrySet()

遍历Map集合的三种方法

map的输出

Map集合遍历的四种方式

Map集合遍历的四种方式