1 ArrayList类概述
什么是集合
提供一种存储空间可变的存储模型,存储的数据容量可以发生改变
ArrayList集合的特点
底层是数组实现的,长度可以变化
查询快, 修改快, 赠删慢
增 : 当添加新元素的时候, 如果底层初始数组装不下了, 就会进行扩容
先创建一个1.5倍大小的新数组, 再将初始数组的元素复制到新数组中, 随后再把新元素添加到新数组中. 删 : 如果一个数组装满了1000个元素, 当我们将第一个元素删除掉之后, 后面的999个元素会整体的向前移动一位查询快, 修改快 : 数组有索引, 可以根据索引快速定位到要操作的这个元素.
泛型的使用
用于约束集合中存储元素的数据类型
2 ArrayList类常用方法
2.1构造方法
方法名说明
public ArrayList()创建一个空的集合对象
2.2 成员方法
方法名说明
public boolean remove(Object o)删除指定的元素,返回删除是否成功public E remove(int index)删除指定索引处的元素,返回被删除的元素public E set(int index,E element)修改指定索引处的元素,返回被修改的元素public E get(int index)返回指定索引处的元素public int size()返回集合中的元素的个数public boolean add(E e)将指定的元素追加到此集合的末尾public void add(int index,E element)在此集合中的指定位置插入指定的元素
2.3 示例代码
public class ArrayListDemo02 {
public static void main(String
[] args
) {
ArrayList
<String> array
= new ArrayList<String>();
array
.add("hello");
array
.add("world");
array
.add("java");
System
.out
.println(array
.size());
System
.out
.println("array:" + array
);
}
}
.3.2代码实现
public class ArrayListTest01 {
public static void main(String
[] args
) {
ArrayList
<String> array
= new ArrayList<String>();
array
.add("刘正风");
array
.add("左冷禅");
array
.add("风清扬");
for(int i
=0; i
<array
.size(); i
++) {
String s
= array
.get(i
);
System
.out
.println(s
);
}
}
}
1.4ArrayList存储学生对象并遍历【应用】
1.4.1案例需求
创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
1.4.2代码实现
public class ArrayListTest02 {
public static void main(String
[] args
) {
ArrayList
<Student> array
= new ArrayList<>();
Student s1
= new Student("林青霞", 30);
Student s2
= new Student("风清扬", 33);
Student s3
= new Student("张曼玉", 18);
array
.add(s1
);
array
.add(s2
);
array
.add(s3
);
for (int i
= 0; i
< array
.size(); i
++) {
Student s
= array
.get(i
);
System
.out
.println(s
.getName() + "," + s
.getAge());
}
}
}