我的问题有点简单,但我无法理解它(java 中的新问题)。
我有一个清单,我想打印它。
现在的问题是列表的某些元素可以是列表本身。
例如:
["foo",1,2,[22,23],[1,[22,[23]]] ... ]
我想以深度方式打印它,这意味着输出是:
"foo", 1,2,22,23, 1,22,23..
我如何在java中做到这一点
我的问题有点简单,但我无法理解它(java 中的新问题)。
我有一个清单,我想打印它。
现在的问题是列表的某些元素可以是列表本身。
例如:
["foo",1,2,[22,23],[1,[22,[23]]] ... ]
我想以深度方式打印它,这意味着输出是:
"foo", 1,2,22,23, 1,22,23..
我如何在java中做到这一点
递归执行。伪代码:
function printRecursively (list):
for item in list:
if item is Array:
printRecursively(item)
else:
printItem(item)
您可以通过检查当前元素是否再次是列表并使用toString
java 中每个对象都具有的 - 方法来递归地执行此操作。
public void printList(List<Object> a)
{
for (Iterator<Object> it = a.iterator(); it.hasNext();) {
Object item = it.next();
if (item instanceof List) printList((List<Object>) item);
else System.out.print(item + ", ");
}
}