ArrayList 特点:
1.本质是一个长度可变的数组
2.它的实现不是同步的,是异步的。
3.在该容器中可以存储null值。
4.每个ArrayList 实例都有一个容器。该容量是指用来储存列表元素的数组的大小 默认为10;
5.随着向 ArrayList 中不断添加元素,其容量也自动增长。
6.在迭代该容器过程中,不允许出现删除或者添加动作,如果执行了该类操作,那么程序会抛出并发修改异常。
7.元素是有序的
8.元素是可重复的
ArrayList的curd操作(增删改查):
ArrayList<String> list = new ArrayList<>();//获取ArrayList对象的格式 //list.add(e) 末尾添加 将指定元素添加到此列表的尾部 // 添加元素动作 尾部添加 list.add("张三");// 末尾添加 将指定的元素添加到此列表的尾部。 list.add("李四"); list.add("王五"); list.add("赵六"); list.add("田七"); // 遍历 for (int i = 0; i < list.size(); i++) {// 遍历容器中 变量i代表索引 // 获取arrayList中的元素 System.out.print(list.get(i) + " ");//张三 李四 王五 赵六 田七 }
System.out.println();//换行
//添加元素动作 指定位置添加
// (index < 0 || index > size()) 如果范围超出会抛出索引 越界异常
list.add(4, "王五");// 3-->第四个位置添加王五元素 后边元素后退 for (int i = 0; i < list.size(); i++) {//遍历容器 变量i代表索引 //获取arrayList中的元素 System.out.print(list.get(i) + " ");
}
System.out.printin();//换行
// 修改元素操作 set(int index,E element)用指定元素替代此类表中指定位置的元素 // (index < 0 || index> size()) list.set(5, "周八"); for (int i = 0; i < list.size(); i++) { //获取arraylist中的元素 System.out.print(list.get(i) + " "); }
// 删除元素操作remove() 移除此列表中指定位置的元素,后边的元素往前移 //remove(int index) 返回值就是容器中删除的元素 System.out.println(); String remove = list.remove(3);// 赵六 System.out.println(remove);
// 查找元素操作 get(int index) String str = list.get(3); System.out.println("索引值为3的元素为" + str);
// 获取arrayList容器中的长度值size () int size = list.size(); System.out.println("该容器的长度为:" + size);
转换成toArray类型:
//转换ArrayList容器为数组类型toArray()数组本身就是一种数据类型(引用数据类型) Object[] array = list.toArray(); // Object[]不能转换成String[] String Object for (int i = 0; i < array.length; i++) { // 获取ArrayList中的元素 System.out.print(array[i] + " "); }
// T type(类型) E element(元素) K key V value System.out.println(); // toArray(T[] a) String[] arr= {};//空数组不是null值 String[] array2 = list.toArray(arr); for (int i = 0; i < array2.length; i++) { // 获取ArrayList中的元素 System.out.print(array2[i] + " "); }
System.out.println();//换行
//清空arrayList容器所有元素 list.clear();
//验证arrayList容器中没有任何元素 长度为0 boolean empty = list.isEmpty(); System.out.println(empty);// ture 容器为空 false 容器不为空 int size2 = list.size(); System.out.println("次容器长度为"+ size2);