-4

私の問題は少し単純ですが、頭を悩ませることができません (Java の新機能)。

リストがあり、それを印刷したい。

ここでの問題は、リストの一部の要素がリスト自体になる可能性があることです。

例えば:

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

これを詳細に印刷したいのですが、つまり、出力は次のようになります。

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

Javaでこれを行うにはどうすればよいですか

4

2 に答える 2

1

再帰的に実行します。擬似コード:

function printRecursively (list):
    for item in list:
        if item is Array:
            printRecursively(item)
        else:
            printItem(item)
于 2013-05-31T17:50:22.783 に答える
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 + ", ");
    }
}
于 2013-05-31T17:58:27.137 に答える