首页 > 其他 > 详细

迭代器Iterator

时间:2019-06-05 00:27:19      阅读:113      评论:0      收藏:0      [点我收藏+]
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);
      }
}
}
}

 

迭代器Iterator

原文:https://www.cnblogs.com/yumengfei/p/10977021.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!