2013-05-31 50 views
-4

我的问题有点简单,但我无法绕过它(Java中的新增功能)。在java中使用任意嵌套级别打印数组

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

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

例如:

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

我想深入的时尚,这意味着打印此,该输出是:

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

如何做到这一点在Java中

+3

您是否尝试过只调用列表中的.toString()?它也调用所有元素的字符串。 –

+0

你确定这是Java吗?这看起来Pythonesque(动态类型列表)。 –

+0

@CaptainSkyhawk这可以是Java中的List 。 –

回答

1

你可以,如果当前元素又是一个列表,并通过使用toString - 方法,其在java中每个对象都有通过检查做到这一点recursivly。

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

做吧递归。伪代码:

function printRecursively (list): 
    for item in list: 
     if item is Array: 
      printRecursively(item) 
     else: 
      printItem(item) 
+1

是这个java代码? – maazza

+1

@maazza正如我明确表示的那样,它是伪代码。 – poke