如何遍历Collection <set <iconnection>&gt; </set <iconnection>

时间:2009-11-14 15:15:34

标签: java collections red5

我有这样的事情:

something need here  = scope.getConnections();

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

我需要遍历所有连接(getConnections()返回的内容)

怎么做?

4 个答案:

答案 0 :(得分:3)

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

for (Set<IConnection> set : sets) {
  for (IConnection connection : set) {
     //do something
  }
}

答案 1 :(得分:2)

for (Set<IConnection> set : scope.getConnections()) {
   for (IConnection iConnection : set) {
      // use each iConnection
   }
}

答案 2 :(得分:2)

我建议你不要像你那样回复联系 您的getConnections必须只返回

Collection<IConnection>

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

在课堂上,您可以选择您想要或需要存储的方式

private Set<IConnection> connections;

将双循环视为班级设计中的一个问题 如果我作为你班级的用户每次我都停止使用你的班级时必须写双循环。所以你的同事也会这样做。

for (IConnection connection : provider.getConnections()) 
{
    connection.doAction();
}

答案 3 :(得分:0)

两个嵌套for循环的答案可能就是您所需要的,但请注意,您也可以将“连接”集合传递给google-collections中的Iterables.concat(),并获得单个“扁平化”可迭代

http://google-collections.googlecode.com