在Java中,可以使用递归方法来转换数组中的嵌套ArrayList。以下是一个示例代码:
import java.util.ArrayList;
import java.util.List;
public class ArrayConversion {
public static void main(String[] args) {
List<Object> nestedList = new ArrayList<>();
nestedList.add(1);
nestedList.add(new ArrayList<>());
nestedList.add(new ArrayList<>());
((ArrayList)nestedList.get(1)).add(2);
((ArrayList)nestedList.get(1)).add(new ArrayList<>());
((ArrayList)nestedList.get(2)).add(3);
((ArrayList)nestedList.get(2)).add(new ArrayList<>());
((ArrayList)((ArrayList)nestedList.get(2)).get(1)).add(4);
List<Object> flattenedList = flattenList(nestedList);
System.out.println(flattenedList);
}
public static List<Object> flattenList(List<Object> nestedList) {
List<Object> flattenedList = new ArrayList<>();
for (Object element : nestedList) {
if (element instanceof ArrayList) {
flattenedList.addAll(flattenList((ArrayList) element));
} else {
flattenedList.add(element);
}
}
return flattenedList;
}
}
这段代码中,我们定义了一个flattenList
方法,该方法接受一个嵌套ArrayList作为参数,并返回一个扁平化的ArrayList。在方法中,我们遍历嵌套ArrayList中的每个元素,如果元素是ArrayList类型,则递归调用flattenList
方法将其扁平化,否则直接将元素添加到结果列表中。
对于给定的嵌套ArrayList [1, [2, [], [3, [4]]]]
,上述代码将返回扁平化的ArrayList [1, 2, 3, 4]
。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云