我的问题有点简单,但我无法理解它(java中的新内容)。
我有一个列表,我想打印它。
现在问题是列表中的一些元素可以是列表本身。
例如:
["foo",1,2,[22,23],[1,[22,[23]]] ... ]
我想以深度方式打印,这意味着输出为:
"foo", 1,2,22,23, 1,22,23..
我如何在java中执行此操作
答案 0 :(得分:1)
递归地做。伪代码:
function printRecursively (list):
for item in list:
if item is Array:
printRecursively(item)
else:
printItem(item)
答案 1 :(得分:1)
你可以通过检查当前元素是否也是一个列表并使用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 + ", ");
}
}