如何将元素添加到三维ArrayList?-JAVA

如何将元素添加到三维ArrayList?-JAVA,java,arraylist,Java,Arraylist,我想在数组列表中的特定位置添加一个字符串,如下所示: ArrayList <String[][]> arrayList3D = new ArrayList<>(Arrays.asList(arrayString3D)); 但它不起作用…你很接近,但不完全正确 过程如下: arrayList3D.get(0)无论提供的索引是什么(0或更高),都将返回一个2D数组,即字符串[][] 因此,为了访问2D数组的特定位置,需要使用两对方括号,一对表示行,另一对表示列 i、 e 你

我想在
数组列表
中的特定位置添加一个
字符串
,如下所示:

ArrayList <String[][]> arrayList3D = new ArrayList<>(Arrays.asList(arrayString3D));

但它不起作用…

你很接近,但不完全正确

过程如下:

arrayList3D.get(0)
无论提供的索引是什么(
0
或更高),都将返回一个2D数组,即
字符串[][]

因此,为了访问2D数组的特定位置,需要使用两对方括号,一对表示行,另一对表示列

i、 e


你很接近,但不完全正确

过程如下:

arrayList3D.get(0)
无论提供的索引是什么(
0
或更高),都将返回一个2D数组,即
字符串[][]

因此,为了访问2D数组的特定位置,需要使用两对方括号,一对表示行,另一对表示列

i、 e


Java中的
Array
s不提供
get
方法。括号表示法给出了一个等价物。将元素设置为索引
i
,如下所示:

array[i] = value;
您的
ArrayList
包含
String[][]
类型的元素,这些元素是数组,其中包含包含
String
元素的其他数组

因此,正确的访问方式如下所示:

arrayList3D.get(0)[1][i] = "new Word";
其中
i
是要在最后一个数组中添加元素的位置

也许这一观点更有帮助:

arrayList3D  // ArrayList<String[][]>
    .get(0)  // String[][]
    [1]      // String[]
    [i]      // String
        = "new Word";

Java中的
Array
s不提供
get
方法。括号表示法给出了一个等价物。将元素设置为索引
i
,如下所示:

array[i] = value;
您的
ArrayList
包含
String[][]
类型的元素,这些元素是数组,其中包含包含
String
元素的其他数组

因此,正确的访问方式如下所示:

arrayList3D.get(0)[1][i] = "new Word";
其中
i
是要在最后一个数组中添加元素的位置

也许这一观点更有帮助:

arrayList3D  // ArrayList<String[][]>
    .get(0)  // String[][]
    [1]      // String[]
    [i]      // String
        = "new Word";

伙计,首先你应该创建一个数组,然后再创建另一个数组。试试这个

ArrayList<ArrayList<String>>  arrayList3D = new ArrayList<ArrayList<String>>();
这里的问题是,它是否在该位置存在一个值。是的,它起作用了,但是,它不。。你应该写这个

ArrayList3D.get(0).add(1, "value to input");

伙计,首先你应该创建一个数组,然后再创建另一个数组。试试这个

ArrayList<ArrayList<String>>  arrayList3D = new ArrayList<ArrayList<String>>();
这里的问题是,它是否在该位置存在一个值。是的,它起作用了,但是,它不。。你应该写这个

ArrayList3D.get(0).add(1, "value to input");

“但它不起作用”-这是什么意思?你有错误吗?如果是,哪个?
String.get[0]
是一个数组而不是一个列表要求家庭作业帮助的问题必须包括你迄今为止为解决问题所做的工作的摘要,以及你解决问题的困难的描述(,)。这不是我的家庭作业!“但它不起作用”-这是什么意思?你有错误吗?如果是,哪个?
String.get[0]
是一个数组而不是一个列表要求家庭作业帮助的问题必须包括你迄今为止为解决问题所做的工作的摘要,以及你解决问题的困难的描述(,)。这不是我的家庭作业!如何初始化
ArrayList
?它不是这样工作的:
arraylistarraylist3d=newarraylist(Arrays.asList(arrayString3D))
我得到了这个错误:
类型不匹配:无法从ArrayList转换为ArrayList
@Andy Yeah,因为
arrayString3D
的类型是
String[][][]
数组。asList
仅将顶级数组层转换为
List
。最简单的方法是手动将每一层收集到
列表中,例如使用简单循环。我已经编辑了答案以向您展示如何初始化。我应该如何初始化
ArrayList
?它不是这样工作的:
arraylistarraylist3d=newarraylist(Arrays.asList(arrayString3D))
我得到了这个错误:
类型不匹配:无法从ArrayList转换为ArrayList
@Andy Yeah,因为
arrayString3D
的类型是
String[][][]
数组。asList
仅将顶级数组层转换为
List
。最简单的方法是手动将每一层收集到
列表中,例如使用简单循环。我对答案进行了编辑,以向您展示如何操作。