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

博主在刷leetcode二维数组题时,卡在了ArrayList的使用上,遂写博客记录。内容涵盖ArrayList二维数组的创建初始化、增加删除操作,重点提及定点读取时的误区,原本以为二维读取函数是get(int row, int col),实际并非如此。

 在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 列号, 要修改的值)

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值