快速业务通道

用for/in在Java 5.0中增强循环 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
个示例创建了变量(在这个示例中名为 n),然后对这个变量进行操作。非常简单,不是吗?我告诉过您在这里没有什么复杂的东西。

实际上,数据中有什么类型并不是问题,您只需为 声明 选择好正确的类型就可以了。在清单 8 中,数组的元素是 Lists。所以您得到的实际上是一个集合数组。同样,使用 for/in 就能使这些变得非常简单。

清单 8. 用 for/in 还可以在对象数组上循环

public void testObjectArrayLooping(PrintStream out) throws IOException {   List[] list_array = new List[3];   list_array[0] = getList();   list_array[1] = getList();   list_array[2] = getList();   for (List l : list_array) {    out.println(l.getClass().getName());   } }

甚至还可以在 for/in 循环中再加上一层循环,如清单 9 所示:

清单 9. 在 for/in 内部使用 for/in 不会有任何问题!

public void testObjectArrayLooping(PrintStream out) throws IOException {   List[] list_array = new List[3];   list_array[0] = getList();   list_array[1] = getList();   list_array[2] = getList();   for (List l : list_array) {      for (Object o : l) {     out.println(o);    }   } }

用for/in在Java 5.0中增强循环(4)

时间:2011-02-05 Brett McLaughlin

处理集合

同样,简单性也是我们关注的内容。使用 for/in 对集合进行遍历没有任何需要特殊处理或者复杂的地方,它工作起来,与您刚才看到的处理列表和集合的方式一样。清单 10 演示了一个在 List 和 Set 上遍历的示例,毫无惊人之处。与往常一样,我们将研究代码,确保您了解发生的事情。

清单 10. 以下程序中有许多简单循环,演示了如何使用 for/in

package com.oreilly.tiger.ch07; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class ForInDemo {   public static void main(String[] args) {    // These are collections to iterate over below    List wordlist = new ArrayList();    Set wordset = new HashSet();    // Basic loop, iterating over the elements of an array    //  The body of the loop is executed once for each element of args[].    //  Each time through, one element is assigned to the variable word.    System.out.println("Assigning arguments to lists...");    for (String word : args) {     System.out.print(word + " ");     wordlist.add(word);     wordset.add(word);    }    System.out.println();    // Iterate through the elements of the List now    //  Since lists have an order, these words should appear as above    System.out.println("Printing words from wordlist " +     "(ordered, with duplicates)...");    for (Object word : wordlist) {     System.out.print((String)word + " ");    }    System.out.println();    // Do the same for the Set. The loop looks the same but by virtue    //  of using a Set, word order is lost, and duplicates are discarded.    System.out.println("Printing words from wordset " +     "(unordered, no duplicates)...");    for (Object word : wordset) {     System.out.print((String)word + " ");    }   } }

清单 11 显示了这个程序的输出(在命令行上输出了

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号