-1

誠は私が投稿した質問に答えました。これは、動的配列リストを作成するという私の質問に対する彼の答えでした。

public List<ArrayList<Object>> dynamicSizedLists(final int size) {
    List<ArrayList<Object>> retVal = new LinkedList<ArrayList<Object>>();
    final int MAX_SIZE = 1000;
    int iterations = size / MAX_SIZE;
    for(; iterations > 0; iterations--) {
        retVal.add(new ArrayList<Object>(MAX_SIZE));
    }
    retVal.add(new ArrayList<Object>(size % MAX_SIZE));

    return retVal;
}

作成した配列リストに値を挿入するにはどうすればよいですか?

4

4 に答える 4

0

リストのリストからリストを取得し要素を追加します。

List<ArrayList<Object>> lists = dynamicSizedLists(3);

lists.get(0).add("Hello World");
lists.get(1).add("Foo");
lists.get(1).add("Bar");

ArrayList<Object> list = lists.get(2);
list.add(new Integer(2));
System.out.println(lists);

ところで、それはList<List<Object>>(またはおそらく<T> List<List<T>>)の実装にあるはずですdynamicSizedLists。インターフェイスの代わりにコレクション クラスを使用するのは、不適切なスタイルです。

于 2013-03-12T08:55:35.127 に答える
0

これを行う:

for(; iterations > 0; iterations--) 
{ 
    //create the array list first,
    ArrayList<Object> obj = new ArrayList<Object>(MAX_SIZE)
    //populate the contents of the above array list 
    obj.add(WhatEverThatIsToBeAdded);
    //finally add the above arraylist to your retVal list
    retVal.add(obj);
}
于 2013-03-12T08:55:50.590 に答える
0

私が思う限り、 get() を介して配列リストのリストから単一の配列リストを取得でき、その後、目的の値を追加できます。

于 2013-03-12T08:56:14.850 に答える
0

foreachでretValを通過するだけです

for(ArrayList<Object> list : retval){
   list.add(object);
}

または、単純な for 演算子で実行できます

for(int i = 0; i < retVal.size(); i++){
   retVal.get(i).add(object);
}
于 2013-03-12T08:57:04.130 に答える