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     }

     

  • 相关阅读:
    void及void指针含义的深刻解析
    jbpm入门样例
    给字符数组赋值的方法
    linux tar.gz zip 解压缩 压缩命令
    android 文件上传
    职员有薪水了
    sublime配置全攻略
    [置顶] WPF数据修改demo
    Java实现快速排序
    Java实现快速排序
  • 原文地址:https://www.cnblogs.com/develon/p/6607749.html
Copyright © 2011-2022 走看看