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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马乔荣柱 中级黑马   /  2012-10-16 21:11  /  1798 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Map集合要遍历集合中的元素,不能使用迭代器。
          第一种遍历方式   keySet方法得到所有的key的Set集合,在通过get方法,通过key值得到对应的value的值.
          第二种遍历方式   entrySet方法得到Set集合,这个集合中存储的是key-value的映射对象 Map.Entry类型.
                                                在通过遍历Set集合得到每一个Map.Entry对象,通过Map.Entry对象的getKey,getValue方法
                                                得到所有的key与value;
import java.util.*;
class Demo
{
        public static void main(String[] args)
        {
                Map<Integer,String> map=new HashMap<Integer,String>();
                map.put(123,"abc");
                map.put(423,"akc");
                map.put(163,"obc");
                /*
                //第一种方式
                //1.得到所有的key的Set集合
                Set<Integer> keys=map.keySet();
                //2.对这个Set集合进行遍历,得到Map集合中的所有的key值
                for(Iterator<Integer> it=keys.iterator();it.hasNext();){                        
                        int key=it.next();
                        //3.通过key得到对应的value
                        String value=map.get(key);
                        System.out.println("KEY:"+key+"   VALUE:"+value);
                }
                */
                //第二种方式
                //1.得到Map集合中的key-value映射关系  Map.Entiry类型
                Set<Map.Entry<Integer,String>> set=map.entrySet();
                //Map.Entry这个就是Map接口中定义的一个静态的内部接口Entry接口。
                //2.遍历Set集合将集合中的所有有key-value的映射关系得到
                for(Iterator<Map.Entry<Integer,String>> it=set.iterator();it.hasNext();){               
                        Map.Entry<Integer,String> kv=it.next();
                        //3.通过Map.Entry这个接口中提供的方法 getKey  getValue得到Map集合中的元素
                        int key=kv.getKey();
                        String value=kv.getValue();
                        System.out.println("KEY:"+key+"  VALUE:"+value);
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
{:soso_e120:}还有第三种方法,就是通过value的值,获取key的值。
总结出来就好比key是丈夫,value是妻子
第一种方法,就是先把丈夫的值key拿出来,然后再去找妻子的值value;
第二种方法,就好比先拿到他们的结婚证(key和value的值),把它们存在set集合中,然后再通过key-value映射关系,获取相应的值;
第三种方法,就是先把妻子的值value拿出来,然后再根据妻子去找丈夫key

呵呵!这三种方法,只适用中国的“一夫一妻制”

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马