Java 从ArrayList创建数组

Java 从ArrayList创建数组,java,Java,在一个给定的家庭作业问题中,我应该创建一个2x9维的矩阵/或二维数组,其中每个元素都包含一个“Patient”类型对象的arraylist Patient是从类Patients创建的对象 这可能吗?我怎么能申报这样的东西呢 我试过: <ArrayList>Patients[][] myArray = new ArrayList<Patients>[2][9]; 但我现在被困在如何输入每个元素上,我尝试了以下格式: patientsMatrix[0][j].add(myP

在一个给定的家庭作业问题中,我应该创建一个2x9维的矩阵/或二维数组,其中每个元素都包含一个“Patient”类型对象的arraylist

Patient是从类Patients创建的对象

这可能吗?我怎么能申报这样的东西呢

我试过:

<ArrayList>Patients[][] myArray = new ArrayList<Patients>[2][9];
但我现在被困在如何输入每个元素上,我尝试了以下格式:

patientsMatrix[0][j].add(myPatientsList.get(i));
在它读取的第一项中,我得到了一个java.lang.NullPointerException,我认为通过在最后用“new ArrayList[2][9]声明矩阵,它不会抛出这种异常


myPatientsList是一个患者类型的arraylist,这可能是这里出现问题的原因吗?

arraylist[][]myArray=new arraylist[2][9]

ArrayList[]myArray=newarraylist[2][9]

您还可以拥有
ArrayList的
ArrayList

类似于
ArrayList patientArray=new ArrayList(2)

然后初始化每一个内部参数,如下所示:

for (int i = 0; i < 2; i++) {
  patientArray.add(new ArrayList<ArrayList<Patient>>(9)); 
}
for(int i=0;i<2;i++){
patientArray.add(新ArrayList(9));
}

它本质上是一个二维矩阵,尺寸为2x9的
ArrayList

您还可以拥有
ArrayList的
ArrayList

类似于
ArrayList patientArray=new ArrayList(2)

然后初始化每一个内部参数,如下所示:

for (int i = 0; i < 2; i++) {
  patientArray.add(new ArrayList<ArrayList<Patient>>(9)); 
}
for(int i=0;i<2;i++){
patientArray.add(新ArrayList(9));
}


它本质上是一个二维矩阵,维度为2x9的
ArrayList

它给我带来了一个编译错误:泛型数组创建?ArrayList[][]myArray=new ArrayList[2][9];谢谢“有效”这个词很有用。重要的是要了解,不仅学生知道堆栈溢出,老师也知道,而且通常要求您自己解决问题,老师看到您的问题并将您的答案与回答中给出的答案相匹配,这可能会让你感到尴尬。它的可能重复给我带来了一个编译错误:泛型数组创建?ArrayList[][]myArray=new ArrayList[2][9];谢谢“有效”这个词很有用。重要的是要了解,不仅仅是学生知道堆栈溢出,老师也知道,而且通常要求你自己解决问题,而老师看到你的问题并将你的答案与给出的答案相匹配,可能会让你感到尴尬。可能的重复情况看起来有点复杂,因此,要在这个结构中添加一个元素,它会像嵌套的ArrayList一样吗?@Mar基本上,保持链接
get
,直到到达要插入的层,然后
在那里添加所需的值。不用麻烦了。如果你知道数组的尺寸是2x9,那么对这两个坐标使用ArrayList是没有意义的。@LowKeyEnergy你能解释一下为什么吗?为什么您会错过使用方便的方法,而不是编写一个简单的程序并测试一堆本来可以避免自己编写的代码?你知道
ArrayList
本质上是一个数组,对吧?沙卡,请提出一个新问题。你有点离题了,但我相信如果你不明白,会有人愿意解释的。这看起来有点复杂,所以在这个结构中添加一个元素会像嵌套的ArrayList一样吗?@Mar You基本上,继续链接
get
,直到到达要插入的层,然后
在那里添加所需的值。不用麻烦了。如果你知道数组的尺寸是2x9,那么对这两个坐标使用ArrayList是没有意义的。@LowKeyEnergy你能解释一下为什么吗?为什么您会错过使用方便的方法,而不是编写一个简单的程序并测试一堆本来可以避免自己编写的代码?你知道
ArrayList
本质上是一个数组,对吧?沙卡,请提出一个新问题。你有点离题了,但如果你不明白,我相信有人会愿意解释的。因为这种确切的格式给我带来了一个通用数组创建警告,我尝试了ArrayList[][]patientsMatrix=new ArrayList[2][9];然而,我在尝试向arraylist添加数据时遇到了问题,它给了我空指针异常,是不是因为它最终缺少了?因为它不允许我编译,除非我修改它:sNo,这是因为数组的每个单元格都可以保存一个ArrayList,但是创建它时数组是空的。在开始向每个单元格添加元素之前,您需要在每个单元格中放置一个
new ArrayList()
。由于该确切格式向我抛出了一个通用数组创建警告,我尝试使用ArrayList[][]patientsMatrix=new ArrayList[2][9];然而,我在尝试向arraylist添加数据时遇到了问题,它给了我空指针异常,是不是因为它最终缺少了?因为它不允许我编译,除非我修改它:sNo,这是因为数组的每个单元格都可以保存一个ArrayList,但是创建它时数组是空的。在开始向每个单元格添加元素之前,需要在每个单元格中放置一个
新的ArrayList()