java 迭代器遍历List、Set和Map

发布时间:2020-06-24 05:15:08 作者:wx5d21d5e6e5ab1
来源:网络 阅读:996
public  class test {
public static void main(String[]args)
{
    iteratorlist();
    iteratorset();
    iteratormap();
}
//**遍历List**
*Iterator<String> it*   获得String类型的迭代器对象
*list.iterator()*            返回一个list容器的对象
*Iterator<String> it=list.iterator()*   初始化迭代器,相当于int i=0
*it.hasNext()*          判断是否有下一个元素
*it.next()*                 返回当前元素,并将游标移至下一个元素

public static void iteratorlist()
{
    List<String> list=new ArrayList<>();
    list.add("aa");
    list.add("bb");
    list.add("cc");

    //初始化迭代器对象,相当于int i=0;
    for(Iterator<String> it=list.iterator();it.hasNext();) //判断条件,是否有下一个
    {
        String s=it.next();  //返回当前元素,并且使得游标指向下一个
        System.out.println(s);
    }
}

**//遍历Set**
public static void iteratorset()
{
    Set<String> set= new HashSet<>();
    set.add("dd");
    set.add("ee");
    set.add("ff");

    for(Iterator<String> it=set.iterator(); it.hasNext();)
    {
        String s=it.next();
        System.out.println(s);
    }
}

**//遍历Map**
*   map.entrySet()   Map键值对存放在节点里,相当于放回一个键值对的集合*
    *Entry<Integer,String>    就相当于返回的一个键值对的集合*
*   Set<Entry<Integer,String>>    相当于将每一对集合放进Set大集合里,Set的元素就是键值对的集合*
    *Iterator<Entry<Integer,String>>  it迭代器遍历Set就相当于遍历里面的每一对集合*
*   Entry<Integer,String> s=it.next();   it.next()返回的是一个键值对集合*
*   s.getKey() 返回键值*
    *s.getValue()  返回键对应的值*

public static void iteratormap()
{
    Map<Integer,String> map=new HashMap<>();
    map.put(1,"gg");
    map.put(2,"hh");
    map.put(3, "ii");
    **//第一种遍历方式**
    Set<Entry<Integer,String>> ss=map.entrySet(); //map键值对是存放在节点里面,通过entrySet()获得键值对
                                                //的集合
    for(Iterator<Entry<Integer,String>> it=ss.iterator();it.hasNext();)
    {
        Entry<Integer,String> s=it.next();
        System.out.println(s.getKey()+"+"+s.getValue());
    }

**  //第二种遍历方式,相当于遍历集合**
Set<Integer> ss=map.keySet();  相当于建立一个包含所以键的集合
再通过Map自带方法map.get(key)返回键对应的值,达到遍历效果

    Set<Integer> ss=map.keySet();

    for(Iterator<Integer> it=ss.iterator();it.hasNext();)
    {
        Integer i=it.next();
        System.out.println(i+"+"+map.get(i));
    }

}

}

推荐阅读:
  1. Java基础教程--集合
  2. Java遍历怎么弄

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java ava lis

上一篇:Panoramic 控件设计举例

下一篇:多线程(十八、阻塞队列-ArrayBlockingQueue)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》