Java基础--集合2:集合的迭代

2.迭代集合:

         List:

              for循环:从0开始循环到length-1,通过索引获取元素

       增强for循环:for(类型  变量名 : 集合)

       Iterator:通过interator()获取迭代器,调用hasNext()和next()来迭代

       (迭代器)

       Enumeration:只适用于Vector,elements()获取

                    Enumeration、hasMoreElements()、nextElement()

  

  Set:由于Set集合是无序的,所以不能用get()方法来通过摸个索引获取,

       不能使用普通的for循环来便利。可使用Iteraror和增强for循环来进行迭代。

 

  Map:不能直接迭代,可以先获取一个Set,通过迭代Set来达到迭代Map的目的。

       即:将Map通过以下两种方法转成Set后,在进行迭代。

       a)keySet:通过Map的keySet()方法,可以获取一个所有键对象组成的Set,

                 迭代这个Set就可以得到没一个键,那么通过键就可以获取值。

      例:

         Map map = new HashMap();

                map.put("1","aaa");

                map.put("2","bbb");

                map.put("3","ccc");

                Set keySet = map.keySet();

        

                for (Iterator iterator = keySet.iterator(); iterator.hasNext();) {

                    String key = (String) iterator.next();

             System.out.println(key + "," + map.get(key));

                }

 

     打印结果:3,ccc

                             2,bbb

                             1,aaa

 

 

       b)entrySet:调用Map的entrySet()方法可以获取到Map中

                   所有Entry(即:键值对)组成的Set,迭代这个Set得到

     每一个Entry,在调用getKey()和getValue()获取键和值。

              例:

          Map map = new HashMap();

                 map.put("1","aaa");

                 map.put("2","bbb");

                 map.put("3","ccc");

          Set<map.entry> entrySet = map.entrySet();

     

          for (Iterator<entry> iterator = entrySet.iterator(); iterator.hasNext();) {

        Map.Entry entry = (Entry) iterator.next();

        System.out.println(entry.getKey() + "," + entry.getValue());

          }

 

     打印结果:3,ccc

                             2,bbb

                             1,aaa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值