0

以下に説明する同様の問題があります。

Javaで静的int値を反復する

違いは、私のクラスにはプリミティブ型ではなく、ArrayList (すべての ArrayList に同じ型の要素が含まれる) の要素があることです。

要素を反復し、このループ内で宣言されたArrayListを反復することが可能かどうかを知りたいですか?

4

2 に答える 2

2

sを直接反復できる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
       }
   }
}
于 2012-12-18T15:54:59.007 に答える
0

refrence 型のを反復処理するにはいくつかの方法がありArrayList<Type>ます。次の方法が便利だと思います。自分で試してみてください。

A. カウンターを使用してその要素をリストする、最も一般的/単純な方法

    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); 
   }

3 つの方法のいずれかを使用して作業を完了することができますが、カウンター (通常はiorと呼ばれますcount) またはIterator

于 2012-12-18T18:58:48.593 に答える