List接口
ArrayList:由于ArrayList底层是基于Object []数组实现的,所以只能存储引用数据类型,为了保证集合里面也可以存储基本数据类型,所以引入了包装类,基本数据类型可以直接给包装类赋值(打包),包装类可以直接给基本数据类型赋值(拆包)
小插曲:包装类
1:装包:
int num = 45;
Integer number = num;
// num:45
System.out.println("num:"+num);
// number:45
System.out.println("number:"+number);
2:拆包:
// 装包
int num = 45;
Integer number = num;
// num:45
System.out.println("num:"+num);
// number:45
System.out.println("number:"+number);
// 拆包
int y = number;
// y:45
System.out.println("y:"+y);
3:包装类里面提供了一个方法,可以将字符串转换成基本的数据类型
String str = "56";
int i = Integer.parseInt(str);
int iii = i+1;
// i:56
System.out.println("i:"+iii);
特点:有序不为一,底层基于数组实现的
新建List对象:
ArrayList<Integer> list = new ArrayList<>();
增删改查:
//增
// 一次性添加
Collections.addAll(list,11,22,33,44,55,66,77);
// 尾部追加
list.add(11);
// 拿着索引找地插
list.add(1,99);
//删 默认索引优先
list.remove(index i) //
list.remove(Object 元素)
//改
list.set(index,元素)
//查
list.get(index) // 得到某个索引的元素
list.contains(元素) // 是否包含某个元素
list.size() // 集合的长度
list.indexOf(元素) // 元素第一次出现的索引
list.isEmpty() // 判断集合是否为空