集合与数组的区别
- 数组 长度不能修改
- 集合 长度可以改变
集合中添加数据(add方法)
ArrayList 集合名 = new Arraylist();
集合名.add(数据)
package com.stu.manage;
import java.util.ArrayList;
public class Bk {
public static void main(String[] args) {
// 创建集合
ArrayList arr1 = new ArrayList();
// add方法添加数据 参数1为添加的数据
arr1.add(1);
arr1.add(2);
arr1.add("xiaoming");
arr1.add(true);
System.out.println(arr1);
}
}
打印数组是存在内存中的地址,打印集合可以直接打印出来
根据索引添加数据(add方法)
注意:不能越界添加 比如此时列表中只有一个元素下标0位置,只能在下标1位置添加或者在下标0添加代替已有的一个元素,如果越界添加就会报错
参1为索引 参2为添加的数据
package com.stu.manage;
import java.util.ArrayList;
public class Bk {
public static void main(String[] args) {
ArrayList list1 = new ArrayList();
list1.add("hehe");
// 参1 为索引,参2为数据 add的方法重载
list1.add(1, "hehe");
System.out.println(list1);
}
}
集合中的泛型(约束集合中只能存在的数据类型)
ArrayList<泛型:集合中只允许添加的类型> 集合名 = new ArrayList<>();
package com.stu.manage;
import java.util.ArrayList;
public class Bk {
public static void main(String[] args) {
ArrayList<String> arr1 = new ArrayList<>();
arr1.add("小明");
arr1.add("小红");
arr1.add("小亮");
// 会报错,泛型指定只能添加String类型
// arr1.add(1);
System.out.println(arr1);
}
}
集合中删除元素(remove方法)
remove 参数为数字根据下标删除 参数为对象根据内容删除 如果集合中的是数字想要根据内容删除就需要把数字转化为Integer对象
跟add方法一样有一个重载方法
集合中只能存储引用类型,存储的所有东西都自动转化为了对象。比如:
int ---- Integer
float ---- Float
double ---- Double
boolean ---- Boolean
package com.stu.manage;
import java.util.ArrayList;
public class Bk {
public static void main(String[] args) {
ArrayList<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
System.out.println(list1);
// remove 参数为数字根据下标删除 所以此时删除的不是数字1是下标为1的元素
list1.remove(1);
System.out.println(list1);
// 集合中只能存在对象,把3转换为对象,删除的就是集合中的内容
list1.remove((Integer) 3);
ArrayList<String> list2 = new ArrayList<>();
list2.add("abc");
list2.add("qwe");
System.out.println(list2);
// 上边特殊,remove方法输入内容根据内容删除
list2.remove("qwe");
System.out.println(list2);
}
}
获取集合中的元素和修改集合中的元素
获取元素: 集合.get(下标)
根据下标获取集合中的元素
修改元素: 集合.set(参1为下标,参2为修改的值)
根据下标修改集合中的元素
package com.stu.manage;
import java.util.ArrayList;
public class Bk {
public static void main(String[] args) {
ArrayList<String> list1 = new ArrayList<>();
list1.add("a");
list1.add("b");
list1.add("z");
System.out.println(list1);
String a = list1.get(0);
System.out.println(a);
list1.set(0, "c");
System.out.println(list1);
}
}
遍历集合
集合.size()
获取集合的长度
package com.stu.manage;
import java.util.ArrayList;
public class Bk {
public static void main(String[] args) {
ArrayList<String> list1 = new ArrayList<>();
list1.add("a");
list1.add("b");
list1.add("z");
System.out.println(list1.size());
for (int i = 0; i < list1.size(); i++) {
System.out.println(i);
}
}
}