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()