好,总结几个刷力扣题时常用的ArrayList使用方法:
一、
1.创建ArrayList对象:
//创建指定类型的ArrayList
ArrayListlist = new ArrayList<>();//ArrayList构造方法
//创建初始容量的ArrayList
ArrayListlist2 = new ArrayList<>(20);
//通过数组创建ArrayList对象
//注意转换前的数组必须是引用数据类型
//如果是普通类型还是推荐手动添加
Integer[] arr = {1,2,3,4};
ArrayListlist3 = new ArrayList<>(Arrays.asList(arr));
通过链表存储,可以无限地添加元素。注意:java中的泛型不支持基本数据类型,只能接收引用数据类型,因此必须用包装类作为参数传递。
另外,使用ArrayList前需要import java.util.ArrayList; 导入包。如果要使用Arrays方法需要import java.util.Arrays; 导入Arrays包。
2.在List末尾添加元素:add(元素);
3.删除对应索引的元素:remove(索引);
4.通过索引修改元素的值:set(索引,新的值);
二、
1.通过索引获取元素:get(索引);
2.获取List长度:size();
3.判断元素是否存在:contains(元素);//返回布尔类型
4.查找元素首次出现的索引:indexOf(元素);//存在返回索引,不存在返回-1
5.判断集合是否为空:isEmpty();//比size方法查更高效
6.清空所有元素:clean();
来看力扣上一道题:
给定一个表示 大整数 的整数数组 digits
,其中 digits[i]
是整数的第 i
位数字。这些数字按从左到右,从最高位到最低位排列。这个大整数不包含任何前导 0
。
将大整数加 1,并返回结果的数字数组。
试着用今天学到的方法来解决这道题:
class Solution {
public int[] plusOne(int[] digits) {
//判断有几个九
ArrayListList = new ArrayList<>();
int num = 0;
for(int i = digits.length-1;i>=0;i--){
if(digits[i] == 9){
num++;
}else{
break;
}
}
if(digits.length == num){
List.add(1);
for(int i = 0;i
好,说到这里。