在Java中,ArrayList是开发者经常使用的集合数据结构。
特点
- ArrayList 是动态增长和收缩,数组是固定长度的,需要开发则自己管理增长与收缩。所以建议优先选择ArrayList。
- ArrayList 支持泛型。
重点
- ArrayList 是列表接口的实现。
- 不是线程安全,并发条件下需要自行控制Lock。
- ArrayList 的实现是基于数组实现,并且动态调整大小 。大小的增加以现有ArrayList的大小的一半为基数。
- ArrayList 初始化的长度是10,如下图源码说明。
示例
示例一:基本
//创建学生姓名 ArrayList
ArrayList studentNameList = new ArrayList();
studentNameList.add("小王");
studentNameList.add("小张");
studentNameList.add("小李");
System.out.println("学生列表,共{" + studentNameList.size() + "人}:");
//遍历学生姓名
for (Object s : studentNameList) {
System.out.println(s);
}
示例二:泛型
//创建3个学生的数据结构
Student wang = new Student("小王", 2.5f);
Student zhang = new Student("小张", 3.5f);
Student li = new Student("小李", 4.5f);
//创建泛型的Arraylist,并添加上面创建的三个学生信息
ArrayList<Student> studentList = new ArrayList<>();
studentList.add(wang);
studentList.add(zhang);
studentList.add(li);
//便利学生信息
System.out.println("学生列表,共{" + studentList.size() + "人}:");
for (Student s : studentList) {
System.out.println("-------------------------");
System.out.print("学生姓名:" + s.name);
System.out.println(" 等级分:" + s.grd);
}
其他
示例程序源码 By bluejazzchn