黑马程序员技术交流社区

标题: java 泛型集合问题 [打印本页]

作者: 莫运飞    时间: 2012-4-16 11:13
标题: java 泛型集合问题
HashMap<String,Integer> maps=new HashMap<String,Integer>();//创建HashMap集合

maps.put("aaa",23);
maps.put("bbb",33);
maps.put("ccc",43);

Set<Map.Entry<String,Integer>> entrySet=maps.entrySet();//上面已经有一个集合了,这里又弄一个集合出来是做上面的???不理解for(Map.Entry<String,Integer> entry: entrySet)//循环取出

{
Sstem.out.println(entry.getKey()+"...."+entry.getValue());

}





作者: 高铭    时间: 2012-4-16 11:18
Map集合没有迭代器 的功能 所以要迭代就要创建另一个集合与它关联
创建Set集合是为了 对Map集合中的元素进行迭代
作者: 刘占月    时间: 2012-4-16 11:54
你如果想要遍历一个Map集合的有两种方式,一个是keySet,一个是entrySet。
它们都是Set集合的迭代器方式,将Map集合进行遍历。所以要再创建一个Set集合与Map进行关联。
作者: liuyang    时间: 2012-4-16 12:06
Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射关系的 Set 视图。
也是一个Set,而Set中每个元素是内部类Map.Entry。
这样再通过增强for循环就能把每一个元素的值 和键取出来了
作者: 陈扬    时间: 2012-4-16 13:02
for(Map.Entry<String,Integer> entry: entrySet)这个是for循环增强读取集合,
要是先for循环的增强读取的话,该集合必须实现实现Iterable接口。所以创建另一个集合与它关联。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2