for (String str : list) {   // 太诡异鸟:( 除了list,还有其他神马结构可以这么搞?
    system.out.print(str)
}

解决方案 »

  1.   

    只要是集合都可以,相当于每次用一个string对象来接受list集合中的一个元素进行迭代
      

  2.   

    这个就是相当于把集合中的数据遍历到str文件中,List,Map,Set,数组 都可以。其实就相当于
     Iterator<String> it = list.iterator(); while(it.hasNext())
     {
    System.out.println(it.next());
     }
      

  3.   

    这是增强的for循环,是j2se 1.5的api之后新增的功能,和三个分号的功能一样,差别就是不能计数,但是要比那个简洁具体哪些结构可以用,只要是那种结构的可以写成for(...;...;...;)形式的,并且不用计数的都可以改成for(:)
      

  4.   

    foreach循环,多看看书》地址:http://zjkilly.iteye.com/blog/509049
      

  5.   

    这不是foreach吗。。c:foreach也是很常用的迭代标签
      

  6.   

    语法:for(VariableModifiers type 变量名:集合变量名){……}
     
    注意事项:type前可加修饰符,如加final,以方便内部类访问等;迭代变量必须在()中定义;集合变量名可以是数组或事项了Iterable接口的集合类
      

  7.   

    这个不诡异 你学校的书里没有吧 java新版本的功能 迭代功能数组容器什么的都行的啊
      

  8.   

    这不就是for的增强版  for  each 么.很方便的额.
      

  9.   

    1.5中引入的for each语法,集合,数组都可用,就是比较方便,底层还是一样的
      

  10.   

    把jdk的源码全看懂,就没啥诡异了 
      

  11.   

    好吧,其实我会说c#也有,甚至连js都有这种用法吗
      

  12.   

    是不是等lambanda表达式出来,楼主更新奇啊
      

  13.   

    这是增强的for循环,只要list中对象的类型与“:”前面的类型相同就可以用。比如你上面的前面是String类型,list中的对象也要是String类型才行。
      

  14.   

    for each,java里增加的···很方便的说···
      

  15.   

    jdk1.5之后的功能,我印象里面好像java没有foreach,楼主可能从.net转的吧
      

  16.   

    如果list不是线程安全的,另一个线程也来操作这个list,就会发生意想不到的事情。
      

  17.   

    for-each 循环,用于集合类。语法糖吧。enhance human-readability
      

  18.   

    诡异?for each而已  楼主好好看看java基础吧  顺便了解一下JDK的发展历程你就会知道了
      

  19.   

    额。。这应该算程序员的问题吧。容器是否线程安全都在api中写明了
      

  20.   

    for each 。数组集合都可以啦~
      

  21.   

    刚才试了一下,list必须指定泛型。否则会报错import java.util.*;
    public class Test05{
    public static void main(String[] args){
    List<String> l = new ArrayList<String>();//指定泛型的类型应该跟for里面str的类型有关
    l.add("A");
    l.add("B");
    l.add("C");
    for(String str : l){
    System.out.println(str);
    }
    }
    }
    以前还真没用过,一直都是iterator
      

  22.   

    数组、set、list 甚至是Map都可以这样用。集合必须用泛型
    List<Pojo> list = new ArrayList<Pojo>();
    list=dao.XXXX ...
    for(Pojo p:list){
    p.XXX ...
    }
    Pojo可以是任何的Object。好像是JDK 1.5及以上都可以能这么写。我一直在用1.6。这是超级for循环。 我07年上学的时候就已经这样写了。很少使用iterator。
      

  23.   

    借鉴了C#的东东,C#里是:
                List<string> userNames = new List<string>();
                userName.Add("1111");
                userName.Add("2222");
                foreach (string name in userNames)
                {
                    Console.WriteLine(name);
                }
      

  24.   

    增强for循环,JDK1.5之后的新特性,可以简化代码的编写,没什么诡异的,当做语法记忆就可以了。
      

  25.   

    这不就是增强型的for循环么?有什么诡异的?楼主要黑我们?
      

  26.   

    加强FOR循环,可是实现,对集合,对象的遍历