1

Javaのリスト内に任意の数のリストを追加する方法はありますか?

例えば:

List<List<T>, List<T>, List<T>>

これが間違った構文であることは知っていますが、そのようなことをしたいと思います。

4

3 に答える 3

6

List<List<T>>任意の数を保持しますList<T>。例えば:

List<List<T>> listOfLists = new ArrayList<List<T>>();

for (int i = 0; i < 10; i++) { // 10 is arbitrary here; just an example
    listOfLists.add(new ArrayList<T>());
}

ユースケースや、なぜこれを実行したいのかについての詳細がなければ、これ以上具体的にすることはできません。

于 2012-09-08T16:11:40.977 に答える
1

リストのリストのリストの任意にネストされたリストを意味する場合...代わりに、次のようなツリー構造を使用することをお勧めします。

class Tree<T> {
    T element;
    List<Tree<T>> children;
}

または、中間レイヤーと値を分離する場合は、次のようにします。

interface Tree<T> { 
}

class TreeNode<T> implements Tree<T> {
    List<Tree<T>> children;
}

class TreeLeaf<T> implements Tree<T> {
    T element;
}
于 2012-09-08T16:38:21.870 に答える
0

list1あなたがリストを持っていると仮定すると、、、list2... 、、あなたがlistNこれについて行くことができる複数の方法があります:

nタプル用に独自のクラスを作成する:Collectionこの方法では、またはListクラス のメソッドを再実装しなくても、タプルを特定のサイズに制限できます。

public class ThreeTuple<A, B, C> {
    private final A first;
    private final B second;
    private final C third;

    public ThreeTuple(A first, B second, C third) {
        this.first = first;
        this.second = second;
        this.third = third;
    }

    public A getFirst() {
        return first;
    }

    public B getSecond() {
        return second;
    }

    public C getThird() {
        return third;
    }
}

public class OtherClass {
    public static void main(String[] args) {
        new ThreeTuple(list1, list2, list3);
    }
}

n個のリストをリストに追加する: この方法は間違いなく最も簡単ですが、リストを制限するものではありません。

List<List<T>> lists = new ArrayList<T>();
lists.add(list1);
lists.add(list2);
lists.add(list3);
于 2012-09-08T16:16:13.183 に答える