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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 繁复 中级黑马   /  2015-6-3 10:11  /  1165 人查看  /  16 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

     public static void main(String[] args) {                Map<String, String> map = new HashMap<String, String>();
                map.put("aa", "aaa");
                map.put("bb", "bbb");
                map.put("cc", "ccc");
                map.put("dd", "ddd");
                map.put("ee", "eee");
                map.put("ff", "fff");
                Set<String> keyset = map.keySet();
                // 第一种,直接遍历集合中的key值,通过key取出value值
                for (Iterator it = keyset.iterator(); it.hasNext();) {
                        System.out.println(it.next());
                }
                // 第二种方式 entrySet()
                // entrySet:将键值的关系取出存入到了Set集合中。键值关系有自己的类型就是:Map.Entry。
                // Map.Entry就是一个静态接口Entry
                // 可以通过Map.Entry对象的getKey(),getValue()获取集合中的值
                Set<Map.Entry<String, String>> set = map.entrySet();
                for (Iterator<Map.Entry<String, String>> it = set.iterator(); it
                                .hasNext();) {
                        Map.Entry<String, String> entry = (Map.Entry<String, String>) it
                                        .next();
                        String key = entry.getKey();
                        String value = entry.getValue();
                        System.out.println(key + "...." + value);

                }
                // 第三种取出方式 values()
                Collection<String> con = map.values();
                for (Iterator<String> it = con.iterator(); it.hasNext();) {
                        String name = (String) it.next();
                        System.out.print(name);
                }

        }

16 个回复

正序浏览
一起学习
回复 使用道具 举报
学习一下
回复 使用道具 举报

总结的不错...谢谢
回复 使用道具 举报
l598790586 发表于 2015-6-3 18:53
我只有一个问题,请问你map集合中如果有相同的value,这个能取出来吗,map只是说键唯一,没有说值也必须唯 ...

可以的啊....这和相同value没关系的...吓我一跳  以为遗忘什么了
回复 使用道具 举报
我只有一个问题,请问你map集合中如果有相同的value,这个能取出来吗,map只是说键唯一,没有说值也必须唯一吧
回复 使用道具 举报
第三第四种的出现,感觉一下子脑洞大开了。
回复 使用道具 举报
as604049322 发表于 2015-6-3 15:12
既然这也算第三种,那就还有第四种:
Set con = map.keySet();
                for (Iterator it = con.it ...

这个算是第一种
回复 使用道具 举报
既然这也算第三种,那就还有第四种:
Set<String> con = map.keySet();
                for (Iterator<String> it = con.iterator(); it.hasNext();) {
                        String key=  it.next();//迭代器上加了泛型,不需要强转
                        String value = map.get(key);
                        System.out.print(key+"="+value);
                }
回复 使用道具 举报
被第三种吸引进来了
回复 使用道具 举报
一起学习一下!~
回复 使用道具 举报
学习一下!
回复 使用道具 举报
总结的不错...谢谢
回复 使用道具 举报
学到了,谢谢。
回复 使用道具 举报
学到了,谢谢
回复 使用道具 举报
枕寒流 发表于 2015-6-3 10:44
还有第三种?,,,,

是的呢
回复 使用道具 举报
还有第三种?,,,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马