编写博客目的:本系列博客均根据B站黑马程序员系列视频学习和编写目的在于记录自己的学习点滴,方便后续回忆和查找相关知识点,不足之处恳请各位有缘的朋友指正。
一、集合和数组的对比
数组和集合很相似,但集合只能存储引用数据类型,而数组两者皆可,集合的长度可自动扩容,而数组则是固定长度
java
package www.itheima;
import java.util.ArrayList;
public class ArrayListDemo1 {
public static void main(String[] args){
// 1. 创建集合的对象
// 创建对象时要确定一个泛型,这个是集合中存储的数据类型
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
}
}
集合定义的时候要定义一个泛型在集合的名字之后的<>之间,这里面指定了集合的泛型
二、 集合的增删查改
java
package www.itheima;
import java.util.ArrayList;
public class ArrayListDemo1 {
public static void main(String[] args){
// 1. 创建集合的对象
// 创建对象时要确定一个泛型,这个是集合中存储的数据类型
ArrayList<String> list = new ArrayList<>();
// 增加元素
list.add("aaa");
list.add("bbb");
list.add("ccc");
//删除元素
list.remove("aaa");
list.remove(1);
//修改元素
list.set(1,"ccc");
//查询元素
list.get(0);
System.out.println(list);
}
}
三、 集合遍历基本数据类型
集合添加基本数据类型,必须先把基本数据类型封装成包,其实就是在<>中更换对应的类型符,其余和正常的使用引用类型是一样的
java
package www.itheima;
import java.util.ArrayList;
public class ArrayListDemo3 {
public static void main(String[] args) {
// 1. 创建集合
ArrayList<Integer> list = new ArrayList<>();
// 2. 添加元素
list.add(1);
list.add(2);
list.add(3);
list.add(4);
// 3.遍历
System.out.print("[");
for (int i = 0; i < list.size(); i++) {
if(i == list.size() - 1){
System.out.print(list.get(i));
}else {
System.out.print(list.get(i) + ",");
}
}
System.out.println("]");
}
}
四、判断集合中数据是否存在
java
package www.itheima;
import java.util.ArrayList;
public class ArrayListDemo6 {
public static void main(String[] args) {
ArrayList<User> list = new ArrayList<>();
User u1 = new User("001", "zhangsan", "123456");
User u2 = new User("002", "wangwu", "123456");
User u3 = new User("003", "lisi", "123456");
list.add(u1);
list.add(u2);
list.add(u3);
boolean flag = contains(list,"002");
System.out.print(flag);
}
public static boolean contains(ArrayList<User> list, String id) {
for (int i = 0; i < list.size(); i++) {
User u = list.get(i);
String uid = u.getId();
if (uid.equals(id)) {
return true;
}
}
return false;
}
}