-1

Makoto回答了我发布的问题。这是他对我创建动态数组列表问题的回答。

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

只需使用 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 回答
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 回答