ArrayList第一个元素查找

Bha*_*kka 2 java arrays arraylist

我是新手Collection Framework.我正在运行一个java程序ArrayList().当我尝试循环它以获取它的元素,但它抛出错误就像

HelloWorld.java:15: error: cannot find symbol                                                                                                                                   
           for(int k=0;k<al.length;k++)                                                                                                                                         
                           ^                                                                                                                                                    
  symbol:   variable length                                                                                                                                                     
  location: variable al of type ArrayList<String>                                                                                                                               
HelloWorld.java:17: error: array required, but ArrayList<String> found                                                                                                          
             System.out.println("elements are"+al[k]);  
Run Code Online (Sandbox Code Playgroud)

这是我写的代码.

import java.util.ArrayList;

public class HelloWorld{
   public static void main(String[] args) {
       ArrayList<String> al = new ArrayList<String>();
       al.add("pen");
       al.add("pencil");
       al.add("ink");
       al.add("notebook");
       al.add("book");
       al.add("books");
       al.add("paper");
       al.add("white board");

       for(int k=0;k<al.length;k++)
   {
         System.out.println("elements are"+al[k]);
  }
   }
}
Run Code Online (Sandbox Code Playgroud)

帮我指出我的错误.提前致谢

Moi*_*ker 5

ArrayList有一个size返回列表大小的get方法,以及一个获取存储在特定索引中的元素的方法.

所以你的for循环看起来像:

for(int k=0; k < al.size(); k++) {
    System.out.println("elements are" + al.get(k));
}
Run Code Online (Sandbox Code Playgroud)

或者如果你想要,你可以在没有索引的情况下遍历每个元素:

for(String text : al) {
    System.out.println("elements are" + text);
}
Run Code Online (Sandbox Code Playgroud)

如果你想使用streamsjava8,你也可以这样做:

al.stream().forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

如果你有兴趣,还有另一个答案,也谈到循环遍历java中的列表.