项目中是常用到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
}