A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java.love 中级黑马   /  2013-6-2 14:37  /  1552 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 java.love 于 2013-6-13 17:34 编辑

在遍历Map集合的时候只能转换成Set吗?怎样将Map转换为Set

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

3 个回复

倒序浏览
建议自学一下Map接口的API文档
回复 使用道具 举报
map集合的两种取出方式:
1,Set<k> keySet:将map中所有的键存入到Set集合。因为set具备迭代器。
        所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。
               

        Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。


2,Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到了set集合中,
                                而这个关系的数据类型就是:Map.Entry

                                Entry其实就是Map中的一个static内部接口。
                                为什么要定义在内部呢?
                                因为只有有了Map集合,有了键值对,才会有键值的映射关系。
                                关系属于Map集合中的一个内部事物。
                                而且该事物在直接访问Map集合中的元素。

实例  学习做的笔记

import java.util.*;


class MapDemo
{
        public static void main(String[] args)
        {
                Map<String,String> map = new HashMap<String,String>();

                map.put("02","zhangsan2");
                map.put("03","zhangsan3");
                map.put("01","zhangsan1");
                map.put("04","zhangsan4");
                第二种
                //将Map集合中的映射关系取出。存入到Set集合中。
                Set<Map.Entry<String,String>> entrySet = map.entrySet();

                Iterator<Map.Entry<String,String>> it = entrySet.iterator();

                while(it.hasNext())
                {
                        Map.Entry<String,String> me = it.next();
                        String key = me.getKey();
                        String value = me.getValue();

                        System.out.println(key+":"+value);

                }

                /*
                这个第一种
                //先获取map集合的所有键的Set集合,keySet();
                Set<String> keySet = map.keySet();

                //有了Set集合。就可以获取其迭代器。
                Iterator<String> it = keySet.iterator();

                while(it.hasNext())
                {
                        String key = it.next();
                        //有了键可以通过map集合的get方法获取其对应的值。
                        String value  = map.get(key);
                        System.out.println("key:"+key+",value:"+value);
                }

                */

        }
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
楼主你好  如果问题已经解决  请把帖子的类型改为已解决  然后会给你发几个粽子吃
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马