zoukankan      html  css  js  c++  java
  • Collection集合

    1.Collection & Map 的主要实现类

    2.迭代器Iterator

    3.Iterator执行原理

    4.代码

    /*
            集合的遍历 : 使用迭代器Iterator
            内部方法 : hasNext() :如果有下一个元素, 就返回true
                       next() :返回下一个元素
             */
            Collection collection = new ArrayList();
            ((ArrayList) collection).add(123);
            ((ArrayList) collection).add("ABC");
            ((ArrayList) collection).add(false);
            ((ArrayList) collection).add(4546);
            ((ArrayList) collection).add("DEF");
            Iterator iterator = collection.iterator();
    
            //方式一 : for (不推荐)
            for (int i=0;i < collection.size() ; i++){
                System.out.println(iterator.next());
            }
    
            //方式二: while (推荐)
            while(iterator.hasNext()){
                System.out.println(iterator.next());
            }
    
            //两种错误的遍历方式
            //方式一 :
            Iterator iterator1 = collection.iterator();
             while (iterator1.next()!=null){
                 System.out.println(iterator.next());
             }
             //这种写法会导致跳着输出,且报异常
    
            //方式二:
            while (collection.iterator().hasNext()){
                System.out.println(collection.iterator().next());
            }
            //这种写法会导致重复输出第一个元素
    
            //remove() 注意 : 如果还没有调用next()或者刚调完remove(),就调用remove(), 会报IllegalStateException;
            Iterator iterator2 = collection.iterator();
            while (iterator2.hasNext()){
                Object next = iterator2.next();
                if ("ABC".equals(next)){
                    iterator2.remove();
                }
            }
            System.out.println(collection);
            //如果执行完一次遍历后 , 再遍历需要重新创建Iterator

    5.Foreach遍历集合

    Collection collection = new ArrayList();
            ((ArrayList) collection).add(123);
            ((ArrayList) collection).add("ABC");
            ((ArrayList) collection).add(false);
            ((ArrayList) collection).add(4546);
            ((ArrayList) collection).add("DEF");
    
            //foreach遍历 : 底层调用的还是Iterator
            for (Object o : collection) {
                System.out.println(o);
            }

    6.Collections : 集合工具类

  • 相关阅读:
    Install Jetty web server on CentOS 7 / RHEL 7
    Linux MYSQL:dead but pid file exists
    Tomcat7注册为Linux服务
    CentOS查看版本及架构信息
    CentOS(6.8)7 安装 Mysql 5.7
    CentOS7 截图
    Kitematic when login show Error:Tunning socket could not be established
    Installing and removing VNC Connect | Red Hat | VNC Connect
    使用 Nexus Repository Manager 搭建私有docker仓库
    Docker attach
  • 原文地址:https://www.cnblogs.com/Anonymity-zhang/p/14373862.html
Copyright © 2011-2022 走看看