目录
1 集合和数组的区别
共同点:都是存储数据类型的容器
不同的:数组的长度是固定的,集合的长度是动态调整的
2 构造方法
ArrayList<E> 这里的 E 是泛型
//创建集合方法
//方法一、建立空集合,用 add 方法添加集合元素
ArrayList<String> a = new ArrayList<>();
a.add("abc")
//方法二、利用数组的 Array 包中的 Array.aslist() 方法直接添加
import java.util.ArrayList;
import java.util.Arrays;
String[] a = {"abc","def","def","ghi","def","hij","jkol"};
ArrayList<String> list = new ArrayList<>(Arrays.asList(a));
//或者 利用 新集合的 addAll 方法添加到集合中去
String[] a = {"abc", "def", "def", "ghi", "def", "hij", "jkol"};
ArrayList<String> list = new ArrayList<>();
List<String> s1 = Arrays.asList(a);
list.addAll(1,s1);
//方法三、把一个旧集合添加到新的集合中
ArrayList<String> aa = new ArrayList<>(list);
3 集合的打印输出
3.1 集合可以直接打印可以
ArrayList<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
System.out.println(list); //输出结果是:[张三, 李四]
3.2 集合可以遍历打印
ArrayList<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)); //输出结果是:张三李四
}
4 集合的一些重要的方法
4.1 remove方法
//方法一、删除集合中的所有 def 元素;
while (list.contains("def")){
list.remove("def");
}
//方法二、for 循环遍历每个元素 查找到 符合条件的删除掉
for (int i = 0; i < list.size(); i++) {
if ("def".equals(list.get(i))){
list.remove(i--);
//删除完集合会往左移动,为了不漏掉元素,i--
}
}
//方法三、for 循环,倒着遍历 集合 避免 漏掉元素
for (int i = list.size()-1; i >=0 ; i--) {
if ("def".equals(list.get(i))){
list.remove(i);
}
4.2 add方法
list.add("姓名"); //list 取决于自己定义的集合的名称
4.3 get方法
list.get(0); //list同上定义,()中的 0 取决于想要取出的元素的索引位置
4.4 size方法
list.size(); //代表集合中元素的个数
4.4 container方法
list.contains("张三") //集合中存在指定的元素 返回 true
equals使用技巧:常量和变量进行比较时,用常量equals变量,可以避免变量时null时的空指针异常