zoukankan      html  css  js  c++  java
  • foreach循环详解

    在Java1.5+中,foreach循环非常实用.

     

     1 public class Demo <T> implements Iterable<T>, Iterator<T> {
     2     T[] array;
     3     int length;
     4     int index;
     5 
     6     Demo(T[] param){
     7         array = param;
     8         length = array.length;
     9     }
    10 
    11     public static void main(String[] args) {
    12         Demo<String> demo = new Demo<String>(new String[]{"aaa","bbb"});
    13         for(String str : demo){
    14             System.out.println(str);
    15         }
    16     }
    17 
    18     public Iterator<T> iterator(){
    19         return this;
    20     }
    21 
    22     public void remove(){
    23     }
    24 
    25     public boolean hasNext(){
    26         index = (index+1)%(length+1);
    27         if(index==0)return false;
    28         return true;
    29     }
    30 
    31     public T next(){
    32         return array[index-1];
    33     }
    34 }
    35 
    36 /*output:
    37 aaa
    38 bbb
    39 */
    点击+打开代码

    上述代码等价于以下形式

    1     public static void main() {
    2         Demo<String> demo = new Demo<String>(new String[]{"aaa","bbb"});
    3         Iterator<String> iterator = demo.iterator();
    4         whlie(iterator.hasNext()){
    5             String tmp = iterator.next();
    6             System.out.println(tmp);
    7         }
    8     }

     

  • 相关阅读:
    交换实验
    ISIS简单配置
    bgp联盟
    BGP2
    BGP 1
    BGP反射器
    ospf实验3
    bzoj 4503: 两个串
    bzoj 4259: 残缺的字符串
    COGS 2287. [HZOI 2015]疯狂的机器人
  • 原文地址:https://www.cnblogs.com/develon/p/6607749.html
Copyright © 2011-2022 走看看