黑马程序员技术交流社区

标题: 关于集合的问题 [打印本页]

作者: 杨胜男    时间: 2014-6-10 18:39
标题: 关于集合的问题
Set<Map.Entry<k,v>>
entrySet:将map集合中的映射关系存入到了set集合中,而这个关系的数据类型就是:Map.Entry

<Map.Entry<k,v>> 是什么?感觉好抽象
作者: 大鑫    时间: 2014-6-10 20:05
我觉得,Map是一个接口,Entry是Map接口的一个内部静态接口,通过Map调用Entry,Map.Entry中存的是映射关系这种数据类型。<k,v>泛型其中K指的是key—键,V指的是value—值。Set<Map.Entry<k,v>>中,Set的泛型也就为键值对应关系。
作者: tanshion    时间: 2014-6-10 20:42
set集合里面应该存放这Map.Entry<k,v>类型的对象,可以通过Entry的方法做相应的操作。
作者: See_the_sun    时间: 2014-6-10 21:46
<>里面写的都是数据类型。Map.Entry<k,v>可以看成一种“数据类型”。

Map<String,Integer> map = new HashMap<String, Integer>();
map.put("a", 1);
//通过调用Map的方法entrySet()获取Entry类型对象,将获取到的Entry类型对象,存储到了Set集合,我们拿到的是存储键值对关系的对象(Entry)的Set集合。然后赋值给Set<Map.Entry<K,V>> 创建的集合。
Set<Map.Entry<String,Integer>> set = map.entrySet();
//迭代集合
Iterator<Map.Entry<String, Integer>> it = set.iterator();

        while(it.hasNext()){
                                   //it.next()返回值,是Map.Entry
                Map.Entry<String, Integer> me = it.next();
                System.out.println(me.getKey()+".."+me.getValue());}





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