Java使用Iterator迭代器遍历集合数据的方法小结

 更新时间:2019年11月19日 09:31:00   作者:xuehyunyu  
这篇文章主要介绍了Java使用Iterator迭代器遍历集合数据的方法,结合实例形式分析了java迭代器进行集合数据遍历的常见操作技巧,需要的朋友可以参考下

本文实例讲述了Java使用Iterator迭代器遍历集合数据的方法。分享给大家供大家参考,具体如下:

1、使用迭代器遍历ArrayList集合

package com.jredu.oopch07;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Ch05 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List list = new ArrayList<>();
        //集合
        list.add(1);
        list.add(2);
        list.add(3);
        //Iterator迭代器
        //1、获取迭代器
        Iterator iter = list.iterator();
        //2、通过循环迭代
        //hasNext():判断是否存在下一个元素
        while(iter.hasNext()){
            //如果存在,则调用next实现迭代
            //Object-->Integer-->int
            int j=(int)iter.next(); //把Object型强转成int型
            System.out.println(j);
        }
    }
}

2、使用迭代器遍历Set集合

package com.jredu.oopch08;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Ch01 {
    public static void main(String[] args) {
        //存储数据的地址
        Set set = new HashSet<>();
        //存储数据
        set.add(new Theme(1,"标题1","简介1"));
        set.add(new Theme(2,"标题2","简介1"));
        //遍历数据
        Iterator iter = set.iterator();
        while(iter.hasNext()){
            Theme theme = (Theme)iter.next();
            System.out.println(theme.getId()+theme.getTitle()+theme.getRemark());
        }
    }
}

3、使用迭代器遍历Map集合

package com.jredu.oopch08;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Ch03 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Map map = new HashMap<>();
        map.put(1, "a");
        map.put(2, "b");
        map.put(3, "c");
        //所有键值对中的键,组成一个集合
        Set set = map.keySet();
        Iterator iter = set.iterator();
        while(iter.hasNext()){
            System.out.println(iter.next());//打印出map中的键(1,2,3)
        }
        //打印出值
        //values所有的值组成的一个集合
        Collection col = map.values();
        //重写了toString方法
        System.out.println(col);//打印出a,b,c的值
    }
}

package com.jredu.oopch08;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Ch04 {
    public static void main(String[] args) {
        Map map=new HashMap<>();
        map.put(1, "a");
        map.put(2, "b");
        map.put(3, "c");
        //必须掌握
        //所有键值对中的键,组成成一个set集合
        Set set=map.keySet();
        System.out.println(set);
        //values所有的值组成的一个集合
        Collection col=map.values();
        System.out.println(col);
        //获取所有的键和值
        //entrySet可以得到由所有键值对组成的集合
        //里边存储的是所有的数据(键-值)
        Set<Map.Entry<Integer, String>> entrySet=map.entrySet();
        Iterator<Map.Entry<Integer, String>> iter=entrySet.iterator();
        while(iter.hasNext()) {
            Map.Entry<Integer, String> entry=iter.next();
            System.out.println("键:"+entry.getKey());
            System.out.println("值:"+entry.getValue());
        }
//        Iterator iter=col.iterator();
//        while(iter.hasNext()) {
//            System.out.println(iter.next());
//        }
//        Iterator iter=set.iterator();
//        while(iter.hasNext()) {
//            System.out.println(iter.next());
//        }
//        System.out.println(map);
    }
}

更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • JDK动态代理步骤详解(源码分析)

    JDK动态代理步骤详解(源码分析)

    这篇文章主要介绍了JDK动态代理步骤详解,首先需要创建一个实现接口InvocationHandler的类,它必须实现invoke方法 ,最后通过Proxy的静态方法实现此操作,需要的朋友可以参考下
    2021-06-06
  • MyBatis使用动态表或列代码解析

    MyBatis使用动态表或列代码解析

    这篇文章主要介绍了MyBatis使用动态表或列代码解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Eclipse+Webservice简单开发实例

    Eclipse+Webservice简单开发实例

    这篇文章主要介绍了Eclipse+Webservice简单开发实例的相关资料,需要的朋友可以参考下
    2016-02-02
  • Java中的CountDownLatch原理深入解析

    Java中的CountDownLatch原理深入解析

    这篇文章主要介绍了Java中的CountDownLatch原理深入解析,CountDownLatch是多线程控制的一种同步工具类,它被称为门阀、 计数器或者闭锁,这个工具经常用来用来协调多个线程之间的同步,或者说起到线程之间的通信,需要的朋友可以参考下
    2024-01-01
  • java利用反射实现动态代理示例

    java利用反射实现动态代理示例

    这篇文章主要介绍了java利用反射实现动态代理示例,需要的朋友可以参考下
    2014-04-04
  • Spring Security 表单登录功能的实现方法

    Spring Security 表单登录功能的实现方法

    这篇文章主要介绍了Spring Security 表单登录,本文将构建在之前简单的 Spring MVC示例 之上,因为这是设置Web应用程序和登录机制的必不可少的。需要的朋友可以参考下
    2019-06-06
  • 浅谈单例模式和线程安全问题

    浅谈单例模式和线程安全问题

    这篇文章主要介绍了浅谈单例模式和线程安全问题,再某些特殊的情况下,存在一个类仅能用来产生一个唯一对象的必要性,因此需要单例模式,需要的朋友可以参考下
    2023-04-04
  • Java制作验证码的完整实例代码

    Java制作验证码的完整实例代码

    这篇文章主要给大家介绍了关于Java制作验证码的完整实例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java实现的简单图片上传功能示例

    Java实现的简单图片上传功能示例

    这篇文章主要介绍了Java实现的简单图片上传功能,结合实例形式分析了java图片传输相关的检验、传输、接收等相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • Java并发之条件阻塞Condition的应用代码示例

    Java并发之条件阻塞Condition的应用代码示例

    这篇文章主要介绍了Java并发之条件阻塞Condition的应用代码示例,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02

最新评论