• java-集合框架3-迭代器的使用


    package cn.burce.iterator;
    
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    
    /*
     * 集合中的迭代器 获取集合中的元素
     * 接口Iterator:两个抽象方法
     * Boolean hasNext()判断集合中还有没有可以取出的元素,如果有返还True
     * next()取出集合的下一个元素
     * Iterator接口,需要实现类
     * Collection接口定义方法Iterator Iterator()
     * ArrayList 重写Iterator(),返回了Iterator接口实现类的对象
     * 使用ArrayList集合的对象
     * Iterator it = array.iterator(),运行结果就是Iterator接口实现类的对象
     * it是接口的实现类对象,调用方法hasNext()和next()集合元素迭代
     */
    public class IteratorLearn {
        public static void main(String[] args) {
            Collection<String> c = new ArrayList<String>();
            c.add("小明");
            c.add("小军");
            c.add("小和");
            c.add("小啊");
            c.add("123");
            // 迭代器对集合ArrayList中的元素取出
            // 调用集合的方法iterator()获取出,Iterator接口的是实现类对象
            Iterator<String> it = c.iterator();
            // 接口实现类对象,调用方法hasNext()判断集合中是否有元素
            // 并用next()取出元素
            while (it.hasNext())
            {
                System.out.println(it.next());
            }
            System.out.println("--------------------------");
            for (Iterator<String> it1 = c.iterator(); it1.hasNext();)
            {
                System.out.println(it1.next());
            }
            System.out.println("-----------------------------");
            // 集合可以存储任何类型的对象
            // 集合中不指定数据类型,那就表示什么都可以存储
            Collection c1 = new ArrayList();
            c1.add("我");
            c1.add("wwwwww");
            // 迭代器获取
            Iterator it2 = c1.iterator();
            while (it2.hasNext())
            {
                System.out.println(it2.next());// 打印的这个是Object类型
                String s = (String) it2.next();// 取长度需要向下转型
                System.out.println(s.length());// 尽量加数据类型
            }
        }
    }

    package cn.burce.List;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ListDemo1 {
        /*
         * 迭代器的并发异常 java.util.ConcurrentModificationException
         * 不能修改集合长度
         */
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("abc1");
            list.add("abc2");
            list.add("abc3");
            list.add("abc4");
            // 使用迭代器遍历,获取时候判断集合中是否有abc3,有就添加ABC3
            Iterator<String> it = list.iterator();
            while (it.hasNext())
            {
                String s = it.next();
                if (s.equals("abc3"))
                {
                    list.add("ABC3");
                }
                System.out.println(s);
            }
        }
    }

  • 相关阅读:
    2018年2月1日学习总结
    2018年1月31日学习总结
    创建oracle数据库表空间和用户
    广播权限声明
    广播接收器
    Android的屏幕限定符
    hibernate学习笔记(3)hibernate常用配置以及session对象
    hibernate学习笔记(2)持久化类测试
    hibernate学习笔记(1)基础配置与jar包
    struts2学习笔记(5)拦截器
  • 原文地址:https://www.cnblogs.com/BruceKing/p/13379627.html
Copyright © 2020-2023  润新知