簡體   English   中英

迭代Java中聲明的arraylists

[英]iterate declared arraylists in java

我有一個類似的問題,如下所述:

在Java中迭代靜態int值

區別在於,在我的課堂上,我有屬於ArrayLists的元素(所有ArrayLists都包含相同類型的元素),而不是原始類型。

我想知道是否有可能迭代元素,並在此循環內迭代聲明的ArrayList?

您可以直接在ArrayList進行迭代,因此您的示例不同於您發布的鏈接,它們需要使用反射來對其進行迭代,因為它們尚未分組到容器中:

class MyClass {
   public static ArrayList<A> myList = new ArrayList<>(
                                       Arrays.asList(new A[]{ A1, A2, ..., AN);

   public static void main(String[] args) {
       // iterate over your list
       for(A a : myList) {
          // do something with A object
       }
   }
}

有幾種方法可以遍歷引用類型的ArrayList<Type> ,我發現以下方法很有用,您可以自己嘗試一下。

答:最常見/最簡單的方法是使用計數器列出其元素

  ArrayList<Person> persons = new ArrayList<Person>(); //Add some person objects to the list for(int i=0;i<persons.size();i++){ System.out.println(persons.get(i)); } 

B.使用迭代器

  for (Iterator i = persons.iterator(); i.hasNext();) { Object listElement = i.next(); System.out.println(listElement); } 

C.For / in循環

  for (Person listElement : persons) { System.out.println(listElement); } 

您可以使用這三種方法中的任何一種來完成工作,但是建議您使用最后一種方法,即For / in循環,因為您不必使用計數器(通常稱為icount )或a Iterator

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM