zoukankan      html  css  js  c++  java
  • 迭代器Iterator

    public class Demo1{
      public static void main(String[] args){
        Collection collection = new ArrayList<>();
        collection.add("java");
        collection.add("hello");
        
        testIterator(collection);
        
      }
      public static void testIterator(Collection collection){
      //Iterator<E> iterator() //获取集合中的对象
       /*
       * Iterator:叫迭代器
       * hasnext():判断当前位置是否有值,有返回true,没有false
       * next():取出当前位置的值,并将指针指向下一个位置
       */
      Iterator iterator  = collection.Iterator();
        while(iterator.hasNext()){
          String value = (String)iterator.next();
          System.out.println(value);
        }
      //注意点:
      //1.直接再次使用第一次的iterator进行遍历,遍历失败.因为当前指针已经指向了集合的最后.
      //再次使用hasnext会直接返回false.所以如果想再次遍历,要重新获取迭代器对象.
       while (iterator.hasNext()) {
       String value = (String) iterator.next();
       System.out.println("iterator1:"+value);
      }
    
      //2.注意:集合可以存储引用数据类型.可以存储不同的数据类型
      collection.add(2);
      //3.再次遍历--当集合中同时存在不同类型的数据时,需要进行容错处理和向下转型.
      Iterator iterator2 = collection.Iterator();
        while(iterator2.hasNext){
          Object obj = iterator.next();
          if(obj instanceOf String){
            System.out.println(obj);
          }
    }
    }
    }
  • 相关阅读:
    Hoeffding Inequality 证明过程
    机器学习-1
    Java多线程安全问题的解决方式
    List<? extends T>和List<? super T>之间的区别
    关于禁用cookie后无法使用session的解决方案
    class.forName和classloader的区别
    在Js中使程序睡眠的sleep方法
    Java到底是值传递还是引用传递?
    Thymeleaf 绝对路径
    jdk1.8 Unsafe类 park和unpark方法解析
  • 原文地址:https://www.cnblogs.com/yumengfei/p/10977021.html
Copyright © 2011-2022 走看看