ArrayList 动态二维数组 (创建 增加 删除 定点读取修改)

 在leetcode上刷一道关于二维数组的题,题目本身不难,但是我却卡在了对于ArrayList的使用上,所以写一篇博客记录一下。

创建

首先是ArrayList 二维数组的创建初始化:

List<List<元素类型>> 数组名=new ArrayList<List<元素类型>>();

例如:
List<List<Integer>> re=new ArrayList<List<Integer>>();

增加删除:

增加的,我们主要是通过建立一维的数组,进行对二维的添加,删除也同理

增加 

 List<Integer> FirstRow=new ArrayList<Integer>();      //新建一维数组
 FirstRow.add(1);  // 给一维数组加入元素
 re.add(FirstRow);  //将一维数组加入二维数组

删除

 //remove有两个重载方法
remove(int index)
remove(Object o)

remove(1)   //是删除索引为1的元素
remove(new Integer(1))    //则删除元素1

定点读取

我主要卡在了这一步,我知道一维要读区某一位用的函数是get(int num )  ,num表示要读取哪一位,我以为二维的是,get(int row,int col),例如我想读取二维数组的 [1,2]个位置的元素,就为get(1,2),然而其实不是这样的,真正的调用方式是这样

re.get(1).get(2)    //先get行号,后get 列号

定点修改

对于一维的ArrayList 修改方法为set

demo.set(int index 要修改的索引值, 要修改的值)

二维的话
只需要 

re.get(i 行号).set(j 列号, 要修改的值)

猜你喜欢

转载自blog.csdn.net/Lin_QC/article/details/93484948
今日推荐