List集合和数组类似 但比数组要强大且灵活
首先是一个参加 我们要统计一场考试学生的分数 这个数组可以实现 但数组声明时是要固定长度的 比如 我们有52个学生参考
我们数组就声明长度为 52 但我们的学生也是人 可能会请假的啊
那么如果只有四十个学生来了 不就出问题了吗?
只是 List 集合就能解决我们的问题 他只需要声明 然后就可以往里面加元素 长度是不固定的 可以一直加
声明一个 List 集合的语法 ArrayList<数据类型> 变量名 = new ArrayList<>();
如 ArrayList arr = new ArrayList<>();
这样我们就可以放一个 数据类型为 String字符串 名字为 arr的list集合
因为list类不在lang包下 所以 你声明这个集合时编辑器 会自动在上方生成代码
import java.util.ArrayList;
这就是帮你引入了对应的依赖包
往集合最后插入一条新数据 语法如下
集合名.add(插入值);
例如
arr.add(“小猫猫”);
这样 我们就往声明的 arr集合中 插入了 一条 叫 小猫猫 的字符串
这条数据 会被插入在集合最后 比如 集合中没有数据 它就是第一条数据 如果集合中有 五条数据 他就会成为第六条
被插入在集合的最后
如果我们不想添加在最后 add也能实现
改一下参数即可
集合名.add(下标,值);
这样add方法就会帮我们将值插入在想插入的位置
参考代码如下
public class text {
public static void main(String args[]) {
ArrayList<String> arr = new ArrayList<>();
arr.add("小猫猫");
arr.add("大肥猫");
arr.add("小狗狗");
arr.add("大猎狗");
arr.add(1,"加菲猫");
arr.add(4,"大灰狼");
System.out.println(arr);
}
}
首先 读一下 我们创建了一个list集合 然后 一次插入了 小猫猫 大猫猫 小狗狗 大猎狗
这样 我们的list集合就应该是 [“小猫猫”,“大肥猫”,“小狗狗”,“大猎狗”]
然后我们 将 值为 加菲猫的值 插入在1 下标 和数组一样 list的下标是从0 开始的
所以 1就是插入在第二个的位置
然后 将 大灰狼插入在 第四个下标 就是第五的位置
输出效果如下
可以看到 我们的 加菲猫 正确出现在了第二的位置
大灰狼也出现在了 第五的位置
然后我们还可以拿到对应的下标 当然 和数组不太一样 你让直接 集合名[下标] 这样写是要报错的
我们需要用 list官方提供的 get方法
集合名.get(下标)
例如
arr.get(2);
造我们刚才的代码下面打印这个就是
成功的拿到了我们第二个下标 也就是第三个值 小狗狗
size方法可以放回集合的长度
例如 我们在我们的代码上执行
arr.size() 输出结果如下
显然我们的集合中 有六条数据 所以返回的长度就是6
list 集合提供了 set 方法 可以更改下标值 语法 集合名.set(下标,值);
参考代码如下
public static void main(String args[]) {
ArrayList<String> arr = new ArrayList<>();
arr.add("ABS");
arr.add("DGL");
arr.add("SSR");
System.out.println(arr.get(1));
arr.set(1,"SBG");
System.out.println(arr.get(1));
}
可以看到 我们 的 1下标 就是第二条数据 原本的值为DGL 然后 我们用set方法修改1下标为SBG
因此 修改前 和修改后的值不相同
liet 还有一个 remove 方法 用于删除对应下标值
语法 有两种
集合名.remove(下标);
集合名.remove(值);
参考代码如下
public static void main(String args[]) {
ArrayList<String> arr = new ArrayList<>();
arr.add("ABS");
arr.add("DGL");
arr.add("SSR");
System.out.println(arr);
arr.remove(1);
System.out.println(arr);
arr.remove("SSR");
System.out.println(arr);
}
输出效果如下
最开始我们打印 arr 是三个 然后我们用remove删除了 1 下标 因此就只剩两个
然后我们用remove(“SSR”) 删除了值为SSR的下标
就只有最后一个啦
那就到这啦 感谢观看