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

     1 package cn.learn.collection;
     2 
     3 import java.util.Collection;
     4 import java.util.HashSet;
     5 import java.util.Iterator;
     6 
     7 /*
     8     java.util.Iterator
     9 迭代器:主要用于遍历访问collection,遍历前都会先判断集合是否为空
    10 
    11        Iterator的对象 也被称为迭代器
    12        Iterator是一个接口,需要使用Iterator接口的实现类对象
    13        获取方法比较特殊,Collection中有个iterator()方法,返回的是Iterator的实现类
    14 
    15  先用hasNext()判断有无元素,返回一个Boolean,再用next(),取出元素
    16  */
    17 public class IteratorApi {
    18     public static void main(String[] args) {
    19         Collection<String> hs= new HashSet<>();
    20         hs.add("ni");
    21         hs.add("nn");
    22         hs.add("n1");
    23         hs.add("n1");
    24         hs.add("n2");
    25         System.out.println(hs);  //[nn,n1,n2,ni]
    26         //接口指向实现类,多态,Iterator<E>的泛型是跟着集合走的
    27         //iter指向的是集合的-1索引,为了hasNext();
    28         Iterator iter=hs.iterator();
    29         //迭代器遍历
    30         while(iter.hasNext()){
    31             //iter.next()做了两件事,1:取出元素2:指针后移
    32             System.out.println(iter.next());
    33         }
    34         System.out.println(iter.hasNext());//false
    35 
    36 
    37         /*
    38         增强for循环,jdk1.5以后,专门用来遍历的,不可用来增删操作
    39         格式:
    40         for(数据类型 变量:集合或者数组名不能是迭代器名字){
    41             //操作代码
    42 43          */
    44         //for循环的次数默认为数组或集合的size();内部原理和Iterator一样
    45         for(String str: hs){
    46         // for (Iterator<String> iterator = hs.iterator(); iterator.hasNext(); )
    47             System.out.println(str);
    48             }
    49 
    50     }
    51 }
  • 相关阅读:
    显示等待WebDriverWait+EC
    mac 上查看python3的各种安装路径
    layui弹窗全屏显示
    Mysql 一些细节方面解析(一)--MyISAM和InnoDB的主要区别和应用场景
    命令关闭tomcat
    xml 写sql语句文件头
    mysql update 修改多个字段and的语法问题
    zookeeper安装
    Java 基础--移位运算符
    SQL mybatis动态查询小结
  • 原文地址:https://www.cnblogs.com/huxiaobai/p/11494165.html
Copyright © 2011-2022 走看看