Java 如何更改二维ArrayList中某些ArrayList的大小?
我用这个类实现了一个2dJava 如何更改二维ArrayList中某些ArrayList的大小?,java,arrays,arraylist,multidimensional-array,2d,Java,Arrays,Arraylist,Multidimensional Array,2d,我用这个类实现了一个2dArrayList。我希望方法criaDimensao()仅在matriz的索引位置将值放入ArrayList中,但它会在matriz的所有索引中始终放置值 public class Matriz { private ArrayList<ArrayList<Integer>> matriz = new ArrayList<>(); //constructor public Matriz(){ }
ArrayList
。我希望方法criaDimensao()
仅在matriz
的索引位置将值放入ArrayList
中,但它会在matriz
的所有索引中始终放置值
public class Matriz {
private ArrayList<ArrayList<Integer>> matriz = new ArrayList<>();
//constructor
public Matriz(){
}
//constructor
public Matriz(int lenght){
int c = 0;
ArrayList<Integer> init = new ArrayList<>();
while (c < lenght){
matriz.add(init);
c +=1 ;
}
}
public boolean criaDimensao(int index, int tamanhoDimensao){
for(int i = 0; i < tamanhoDimensao; i++){
matriz.get(index).add(0); //defalt value 0
}
return true;
}
}
公共类矩阵{
private ArrayList matriz=new ArrayList();
//建造师
公共矩阵(){
}
//建造师
公共矩阵(内部长度){
int c=0;
ArrayList init=新的ArrayList();
而(c<长度){
添加矩阵(初始);
c+=1;
}
}
公共布尔值criaDimensao(int索引,int tamanhoDimensao){
对于(int i=0;i
其思想是在
matriz
中有不同大小的ArrayList
因为在构造函数中:
ArrayList<Integer> init = new ArrayList<>();
while (c < lenght){
matriz.add(init);
c +=1 ;
}
while (c < lenght){
matriz.add(new ArrayList<Integer>());
c +=1 ;
}
您将把它添加到init
,这将反映在整个mariz
相反,您可以在构造函数中使用如下内容:
ArrayList<Integer> init = new ArrayList<>();
while (c < lenght){
matriz.add(init);
c +=1 ;
}
while (c < lenght){
matriz.add(new ArrayList<Integer>());
c +=1 ;
}
while(c