列表列表的递归函数
Recursive function for list of lists
我有一个对象('Flows' 类型),其中包含 'Flows'
类型的列表
class Flows{
String id;
String sequence;
List<Flows> listOfFlows;
}
我想将所有嵌套列表(可以有任意数量的嵌套列表)的所有元素放入一个列表中。我们如何在java中通过递归来实现呢?
像这样的事情怎么样:
void flattenFlows(Flows flows, List<Flows> flowsList)
{
flowsList.add(flows);
for (Flows f: flows.listOfFlows) {
flattenFlows(f, flowsList);
}
}
flowsList
是您要将所有流添加到的列表。
编辑:如果列表字段可能为空(正如一位评论者指出的那样),请添加空检查:
void flattenFlows(Flows flows, List<Flows> flowsList)
{
flowsList.add(flows);
if(flow.listOfFlows!=null) {
for (Flows f: flows.listOfFlows) {
flattenFlows(f, flowsList);
}
}
}
我有一个对象('Flows' 类型),其中包含 'Flows'
类型的列表class Flows{
String id;
String sequence;
List<Flows> listOfFlows;
}
我想将所有嵌套列表(可以有任意数量的嵌套列表)的所有元素放入一个列表中。我们如何在java中通过递归来实现呢?
像这样的事情怎么样:
void flattenFlows(Flows flows, List<Flows> flowsList)
{
flowsList.add(flows);
for (Flows f: flows.listOfFlows) {
flattenFlows(f, flowsList);
}
}
flowsList
是您要将所有流添加到的列表。
编辑:如果列表字段可能为空(正如一位评论者指出的那样),请添加空检查:
void flattenFlows(Flows flows, List<Flows> flowsList)
{
flowsList.add(flows);
if(flow.listOfFlows!=null) {
for (Flows f: flows.listOfFlows) {
flattenFlows(f, flowsList);
}
}
}