2012-03-13 13 views
-2

私はclients(小文字で始めるべき誰かがどのようにループを記述し、配列リストにJavaで慣例変数名によってところでArrayList内のすべてのオブジェクトを読み取る方法は?

List<Client> Clients = new ArrayList<Client>(); 
+4

これを行う方法は10種類あります。あなたはそれらのいずれかを試しましたか? – ggrigery

+1

まず何を試してみたのですか? – bluesman

+0

たとえば、http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.htmlを試してみてください。 – DNA

答えて

1

ArrayListを通してループを実装するには、いくつかの方法があります。使用最も一般的な3つの方法があります。

ケース1:ループ

for(int i=0; i<clients.size; i++){ 
    clients.get(i).doSomeMethod(); //Code to work with individual client here 
} 

要素のインデックスが必要とされる用途のための従来の。複数のコレクションを繰り返し処理する場合にも便利です。現在のインデックス要素またはインデックスを知っている要素を変更するために使用できます。すべてでは、プログラマーは、以下に列挙されたメソッドをより多く制御することができます。

ケース2:ループは '強化' - それ以外の場合はすべてのために使用することはできません拡張forループ

for(Client client: Clients) { 
    client.doSomeMethod(); //Code to work with a client here  
} 

'の-各' ループとして知られています。たとえば、コレクションをトラバースするとき(この場合はArrayList)に要素を削除するために使用することはできませんが、複数のコレクションを循環させる場合には便利ではありません。これらは、ArrayListを最初から最後まで順番に処理したい場合に便利です。現在の要素のインデックスは必須ではありません。

ケース3:イテレータのアプローチ:このアプローチは

Iterator<Client> itr = clients.iterator(); 
while(itr.hasNext()) { 
    Client myClient = itr.next(); 
    myClient.doSomeMethod()//Code to work with myClient here 
} 

事実上何の拡張forループは、下にやっているされており、完全を期すために追加されました。

3
for(Client client: Clients) { 
    //work here with client 
} 

を各クライアントを得るために私に教えてくださいすることができ、クライアントのArrayListのを持っています)。

関連する問題