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 }
  • 相关阅读:
    Single Number II
    Pascal's Triangle
    Remove Duplicates from Sorted Array
    Populating Next Right Pointers in Each Node
    Minimum Depth of Binary Tree
    Unique Paths
    Sort Colors
    Swap Nodes in Pairs
    Merge Two Sorted Lists
    Climbing Stairs
  • 原文地址:https://www.cnblogs.com/huxiaobai/p/11494165.html
Copyright © 2011-2022 走看看