问题描述: 在遍历嵌套ArrayList结构时,显示了意外的结果。
解决方法:
ArrayList> nestedList = new ArrayList<>();
// 添加数据到嵌套ArrayList
nestedList.add(new ArrayList<>(Arrays.asList(1, 2, 3)));
nestedList.add(new ArrayList<>(Arrays.asList(4, 5, 6)));
nestedList.add(new ArrayList<>(Arrays.asList(7, 8, 9)));
for (ArrayList list : nestedList) {
for (int num : list) {
System.out.print(num + " ");
}
System.out.println();
}
public void traverseNestedList(ArrayList
在上述递归方法中,我们首先判断当前元素是否为ArrayList类型,如果是,则递归调用自身进行遍历;如果不是,则直接打印该元素。
ArrayList> nestedList = new ArrayList<>();
// 添加数据到嵌套ArrayList
nestedList.add(new ArrayList<>(Arrays.asList(1, 2, 3)));
nestedList.add(new ArrayList<>(Arrays.asList(4, 5, 6)));
nestedList.add(new ArrayList<>(Arrays.asList(7, 8, 9)));
nestedList.stream()
.flatMap(Collection::stream)
.forEach(System.out::println);
通过使用Java 8的流式处理,我们可以使用flatMap()方法将嵌套的ArrayList展开为一个扁平的流,然后通过forEach()方法逐个打印元素。
以上是三种解决遍历嵌套ArrayList结构时显示意外结果的方法,您可以根据实际情况选择其中一种适合您的解决方案。
下一篇:遍历嵌套表并将列值打印到控制台