Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在循环中创建多个列表_Java_Loops_Arraylist - Fatal编程技术网

Java 在循环中创建多个列表

Java 在循环中创建多个列表,java,loops,arraylist,Java,Loops,Arraylist,我想在循环中动态创建ArrayLists,如下所示: for (i = 0; i < 3; i++) { List<myItems> d(i) = new ArrayList<myItems>(); } (i=0;i

我想在循环中动态创建
ArrayList
s,如下所示:

for (i = 0; i < 3; i++) {
    List<myItems> d(i) = new ArrayList<myItems>();
}
(i=0;i<3;i++)的
{
列表d(i)=新的ArrayList();
}

我只想在一个循环中创建3个这样的列表。我可以这样做吗?

列表代替
并将其填充到循环中

列表代替
并将其填充到循环中

否:变量名只是程序员的一种方便,在编译代码后不会被跟踪,因此不允许使用那种“动态变量命名”。您必须找到另一种方法来跟踪列表,例如将字符串标识符映射到列表的
映射

Map<String, List<Item>> map = new HashMap<String, List<Item>>()
map.put("d1", new ArrayList<Item>());
...
Map Map=newhashmap()
put(“d1”,新的ArrayList());
...

例如,要访问与
“d1”
相对应的列表,您可以使用
map.get(“d1”)

否:变量名只是程序员的一种方便,在编译代码后不会被跟踪,因此不允许使用这种“动态变量命名”。您必须找到另一种方法来跟踪列表,例如将字符串标识符映射到列表的
映射

Map<String, List<Item>> map = new HashMap<String, List<Item>>()
map.put("d1", new ArrayList<Item>());
...
Map Map=newhashmap()
put(“d1”,新的ArrayList());
...
例如,要访问与
“d1”
相对应的列表,您只需使用
map.get(“d1”)

即可:

for(i=0;i<3;i++){
  List<myItems> d = new ArrayList<myItems>();
}
这将创建一个嵌套列表:

someListOfListsOfMyItems
  subListOfMyItems
    someMyItem
    anotherMyItem
  subListOfMyItems
    someOtherMyItem
    anotherOtherMyItem
  subListOfMyItems
    yetSomeOtherMyItem
    yetAnotherMyItem
每个子列表的访问方式如下:

d.get(indexOfSublist);
如果您这样做:

for(i=0;i<3;i++){
  List<myItems> d = new ArrayList<myItems>();
}
这将创建一个嵌套列表:

someListOfListsOfMyItems
  subListOfMyItems
    someMyItem
    anotherMyItem
  subListOfMyItems
    someOtherMyItem
    anotherOtherMyItem
  subListOfMyItems
    yetSomeOtherMyItem
    yetAnotherMyItem
每个子列表的访问方式如下:

d.get(indexOfSublist);

也许这就是你要找的

ArrayList<myItem>[] d = (ArrayList<myItem>[]) new ArrayList[3];

for (int i = 0; i < 3; i++) {
    d[i] = new ArrayList<myItems>();
}
ArrayList[]d=(ArrayList[])新的ArrayList[3];
对于(int i=0;i<3;i++){
d[i]=新的ArrayList();
}

也许这就是你要找的

ArrayList<myItem>[] d = (ArrayList<myItem>[]) new ArrayList[3];

for (int i = 0; i < 3; i++) {
    d[i] = new ArrayList<myItems>();
}
ArrayList[]d=(ArrayList[])新的ArrayList[3];
对于(int i=0;i<3;i++){
d[i]=新的ArrayList();
}

是的,您可以这样做(您不小心键入了两次
new
),但它没有完成任何事情。您只是每次通过循环创建一个新列表,而不使用它。你到底想做什么?“我能这么做吗?”你有我的许可。你说的动态arraylist是什么意思?@jahroy我想在一个循环中创建3个不同的arraylist,比如d1、d2和d3。你当前的代码创建3个不同的arraylist,它只是将它们都赋给同一个变量,所以每个arraylist都会被覆盖。如果您想要3个不同的列表,您将需要3个不同的变量。是的,您可以这样做(您意外地键入了两次
new
),但这并不能完成任何事情。您只是每次通过循环创建一个新列表,而不使用它。你到底想做什么?“我能这么做吗?”你有我的许可。你说的动态arraylist是什么意思?@jahroy我想在一个循环中创建3个不同的arraylist,比如d1、d2和d3。你当前的代码创建3个不同的arraylist,它只是将它们都赋给同一个变量,所以每个arraylist都会被覆盖。如果需要3个不同的列表,则需要3个不同的变量。如何将新项添加到子列表@纳撒尼尔·福特
d.get(idx).add(aNewItem)
,其中,
idx
是要添加到的子列表的索引@ohlalahow向子列表添加新项目@纳撒尼尔·福特
d.get(idx).add(aNewItem)
,其中,
idx
是要添加到的子列表的索引@奥拉拉