一、集合框架介绍
集合框架有一个共有的接口Collection,集合对象就是将多个元素组成一个单元的对象,集合数据的一般操作就是用于存储、检索、删除和修改等操作。集合框架是用于表示和操纵集合的统一体系结构。
java集合框架的优点:
1.提供有用的数据结构和算法,从而减少编程工作
2.提高了程序速度和质量,因为它提供了高性能的数据结构和算法
3.允许不同 API 之间的互操作,API之间可以来回传递集合
4.可以方便地扩展或改写集合
java集合框架提供了四种容器可以选择使用,分别是Queue、List、Set和Map。为了该框架的高效/规范和易于扩展性,集合框架被设计成一组层次分明的标准化接口与实现,接口图如下:
二、ArrayList
List表示的是一种有序的对象容器数据结构,java中使用List接口来规定这类数据结构。List接口实现了Collection, Iterable。常用的实现类主要有ArrayList和LinkedList。
ArrayList和我们之前介绍的数组有很多的优势,ArrayList的特点总结如下:
1.ArrayList 对象是长度可变的对象引用数组,类似于动态数组
2.继承 AbstractList 并实现 List 接口,方法统一
3.动态扩展,随着元素的添加,元素的数目会增加,列表也会随着扩展
4.访问和遍历对象时,它提供更好的性能
三、常用方法举例
package com;
import java.util.ArrayList;
import com.pojo.Student;
public class ArrayListStr{
public static void main(String[]args){
//线性结构,在这里你可以和数组比较一下
int nums[]={1,3,4,4};
System.out.println(nums[3])
//初始化三个学生对象
Student stu1=new Student;
stu1.setAge(23);
stu1.setName("张三1");
Student stu2=new Student();
stu2.setAge(24);
stu2.setName("张三2");
Student stu3=new Student();
stu3.setAge(25);
stu3.setName("张三3");
//定义一个ArrayList对象
ArrayList stus=new ArrayList();
//把3个学生对象加到一个ArrayList对象中
stus.add(stu1);
stus.add(stu2);
stus.add(stu3);
//也可以添加一个字符串对象
stus.add("1234");
System.out.println(stus.size());//ArrayList大小
System.out.println(stus.isEmpty());//判断是否为空
System.out.println(stus.contains(stu2));//是否包含某个对象
//访问 随机访问
Student temp=(Student)stus.get(2);
System.out.println(temp.getName());
//动态添加
Student stu4=new Student();
stu4.setAge(25);
stu4.getName("张三4");
stus.add(stu4);
//删除
stus.remove(stu2);
//顺序访问,访问全部
for(int i=0;i<stus.size();i++){
Object object=stus.get(i);
//以后会使用泛型优化,现在最好先判断
if(object instanceof Student){
Student stu=(Student)object;
System.out.println(stu.getName());
}
}
//转换为数组
Student [] stuarray=(Student [])stus.toArray();
}
}