关于map的循环遍历

来源:互联网 发布:元胞数组是什么 编辑:程序博客网 时间:2024/05/20 18:41

项目中是常用到map,在这里对map做一个简单记录:
如下所示:
这里写图片描述
这里用到的是map的keySet方法:使用很简单,这个方法返回的就是map中所有的key的一个数组;这里使用Object,是因为map的key值不是指定的类型;如果是指定的类型,比如说是String类型,那么就可以换成String o ;
但是值得注意的是:
有一个Map对象,这时候使用keySet()方法获取所有的key值,比如:
Map map = new HashMap();
map.put(1, “a”);
map.put(2, “b”);
map.put(3, “c”);
map.put(4, “d”);
Set keys1 = map.keySet();
Set keys2 = map.keySet();
Set keys3 = map.keySet();
上面三个set对象key1,key2,key3引用的是一个对象。这时map的keySet()方法只返回一个set实例,所以当从key1中删除一个对象时候,key2和key3将会受到影响。
keys1.remove(1);
System.out.println(keys1);
System.out.println(keys2);
System.out.println(keys3);
打印结果为:
[2, 4, 3]
[2, 4, 3]
[2, 4, 3]

对应的,Map还有一个entrySet的方法,该方法就是返回一个个单独的set(键值对形式);
例如:
循环整个map的key和value
Map

Set<Entry<String, Object>> set = m.entrySet();        Iterator io = set.iterator();        while (io.hasNext()) {            Map.Entry<String, Object> me = (Map.Entry<String, Object>) io.next();            me.getKey   me.getVaue        }
0 0