Map集合是双列集合,没有继承Iterable。所以Map不能迭代。也就是它没有迭代器
想要得到Map集合中的元素:通常有两种方法:
方法1:|--keySet 方法 可以将所有键,将键变成Set集合
使用方法:- Set<Integer> keyset = map.keySet();
- map.put(3, "zhangsan");
- map.put(4, "lisi");
- map.put(6, "zhousan");
- map.put(8, "wuwuwu"); //键不能相同,否则会覆盖
- for(Iterator<Integer> iterator = keyset.iterator();iterator.hasNext();){
- String val = (String)map.get(iterator.next()); //这里iterator.next();得到的是key
- System.out.println(val);
- }
复制代码 方法2:|---entrySet方法
该方法将键和值得映射关系作为对象存储到了Set集合中。
使用方法:- Set<Map.Entry<Integer, String>> entryset = map.entrySet();
- map.put(3, "zhangsan");
- map.put(4, "lisi");
- map.put(6, "zhousan");
- map.put(8, "wuwuwu");
- for(Iterator<Map.Entry<Integer, String>> iterator = entryset.iterator();iterator.hasNext();){
- Map.Entry<Integer, String> me = iterator.next(); //Set集合中存储的是一种映射关系 ,是对象
- Integer key = me.getKey(); //使用这个映射关系可以得到键 和 值
- String value = me.getValue();
- System.out.println(key+":"+value);
- }
复制代码 |