如何调用迭代器iterator

来源:互联网 发布:php session cookie 编辑:程序博客网 时间:2024/06/04 01:28

先介绍一下Java的集合类



1、List和Set都实现了Collection接口,Collection的常用方法有:

      add(E  e) ;往集合中添加一个对象

       remove(Object  o)  ;从集合中删除一个对象

        Boolean     isEmpty()   ;判断集合是否为空

        iterator()  ;返回在此Collection的元素上进行迭代的迭代器,用于遍历集合中的对象

         int   size()  ;获取集合中元素的个数

2、对Collection可以直接调用iterator()方法返回一个iterator对象,但Map集合没有这个方法,该怎么调用iterator呢?就本人所知至少有如下两种方法可供选择:

        (1) Map.keySet()  ;获取Map里所有的key对象形成一个Set集合,对这个Set集合就可以直接调用iterator()方法了;

                   Map.values()  ;获取Map里所有的value值形成一个Collection集合,对这个Collection集合就可以直接调用iterator()方法了;

         (2)方法(1)是分别够着2个集合来遍历,还有一个方法可以直接调用iterator;

                   Map.entrySet().iterator   ;通过迭代获得的对象时Entry对象,可以分别调用Entry.getKey()和  Entry.getValue()获得相应的key和value值;

         eg:   Iterator<Entry<String, String>> itor = map.entrySet().iterator();     

       while (itor.hasNext()) {           

               Entry<String, String> e = itor.next();    

               System.out.println(e.getKey());       

               System.out.println(e.getValue());          

        } 

3、顺便介绍一下Iterator的最常用的2个方法

           Iterator.hasNext()  ;判断集合中是否存在下一个对象元素

           Iterator.next()   ;获取集合中下个对象元素

            在使用while便可以达到遍历集合的目的,还可搭配foreach语句,遍历起来更方便

0 0