1

私はこのようなものを持っています:

something need here  = scope.getConnections();

//getConnections() returns Collection<Set<IConnection>>

getConnections()すべての接続(返されるもの)を反復処理する必要があります

どうやってするか ?

4

4 に答える 4

3
Collection<Set<IConnection>> sets = scope.getConnections();

for (Set<IConnection> set : sets) {
  for (IConnection connection : set) {
     //do something
  }
}
于 2009-11-14T15:20:16.420 に答える
2
for (Set<IConnection> set : scope.getConnections()) {
   for (IConnection iConnection : set) {
      // use each iConnection
   }
}
于 2009-11-14T15:21:06.340 に答える
2

私はあなたがそうするように接続を返さないことをお勧めします。
getConnectionsはのみを返す必要があります

Collection<IConnection>

public Collection<IConnection> getConnections()
{
    return connections;
}

クラス内で、必要な方法または保存する必要のある方法を選択できます

private Set<IConnection> connections;

クラス設計の問題としてダブルループを検討してください。
あなたのクラスのユーザーとして私があなたのクラスの使用をやめるたびにダブルループを書かなければならない場合。あなたの同僚もそうします。

for (IConnection connection : provider.getConnections()) 
{
    connection.doAction();
}
于 2009-11-14T15:35:55.467 に答える
0

2つのネストされたforループの答えがおそらく必要なすべてですが、「connections」コレクションをgoogle-collectionsのIterables.concat()に渡して、単一の「フラット化された」反復可能ファイルを取得することもできることに注意してください。

http://google-collections.googlecode.com

于 2009-11-18T08:18:25.993 に答える