用Java将数型结构的数据拉平成一个集合
时间: 2024-04-13 19:28:25 浏览: 14
你可以使用递归的方法来将数型结构的数据拉平成一个集合。下面是一个使用Java实现的示例代码:
```java
import java.util.ArrayList;
import java.util.List;
public class FlattenData {
public static List<Integer> flatten(List<Object> data) {
List<Integer> flattened = new ArrayList<>();
for (Object element : data) {
if (element instanceof Integer) {
flattened.add((Integer) element);
} else if (element instanceof List) {
flattened.addAll(flatten((List<Object>) element));
}
}
return flattened;
}
public static void main(String[] args) {
List<Object> data = new ArrayList<>();
data.add(1);
data.add(2);
List<Object> sublist = new ArrayList<>();
sublist.add(3);
sublist.add(4);
data.add(sublist);
data.add(5);
List<Integer> flattened = flatten(data);
System.out.println(flattened);
}
}
```
在这个示例中,我们定义了一个`flatten`方法来处理数型结构的数据。该方法接受一个`List<Object>`类型的参数,并返回一个拉平后的`List<Integer>`类型的结果。我们使用递归来处理可能存在的嵌套列表。当遇到整数时,直接将其添加到结果集合中;当遇到列表时,递归调用`flatten`方法来处理嵌套的列表,并将结果添加到结果集合中。
在`main`方法中,我们创建了一个包含了整数和嵌套列表的数据结构,并调用`flatten`方法将其拉平。最后,打印出结果集合。
运行以上代码,输出将会是:`[1, 2, 3, 4, 5]`,这就是将数型结构的数据拉平成一个集合的结果。