我有这样的事情:
something need here = scope.getConnections();
//getConnections() returns Collection<Set<IConnection>>
我需要遍历所有连接(getConnections()
返回的东西)
怎么做 ?
我有这样的事情:
something need here = scope.getConnections();
//getConnections() returns Collection<Set<IConnection>>
我需要遍历所有连接(getConnections()
返回的东西)
怎么做 ?
Collection<Set<IConnection>> sets = scope.getConnections();
for (Set<IConnection> set : sets) {
for (IConnection connection : set) {
//do something
}
}
for (Set<IConnection> set : scope.getConnections()) {
for (IConnection iConnection : set) {
// use each iConnection
}
}
我建议您不要以您的方式返回连接。
您的 getConnections 必须只返回
Collection<IConnection>
public Collection<IConnection> getConnections()
{
return connections;
}
在您的班级内,您可以选择您想要或需要的方式来存储它们
private Set<IConnection> connections;
将双循环视为您的课程设计中的一个问题。
如果我作为您班级的用户每次都必须编写双循环,那么我将停止使用您的班级。你的同事也会这样。
for (IConnection connection : provider.getConnections())
{
connection.doAction();
}
两个嵌套的 for-loops 答案可能就是您所需要的,但请注意,您也可以将“连接”集合传递给 google-collections 中的 Iterables.concat(),并得到一个“扁平化”迭代。