在java中打印具有任意嵌套级别的数组

时间:2013-05-31 17:47:48

标签: java

我的问题有点简单,但我无法理解它(java中的新内容)。

我有一个列表,我想打印它。

现在问题是列表中的一些元素可以是列表本身。

例如:

["foo",1,2,[22,23],[1,[22,[23]]] ... ]

我想以深度方式打印,这意味着输出为:

"foo", 1,2,22,23, 1,22,23..

我如何在java中执行此操作

2 个答案:

答案 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 + ", ");
    }
}