概述
java.util.ArrayList 相当于 增强版的数组, 是 长度可变 的,插入元素、删除元素,存储在内的数据称为元素。此类提供一些方法来操作内部存储 的元素。
ArrayList 中可 不断添加元素,其 长度也自动增长。
构造方法
ArrayList():构造一个内容为空的集合。ArrayList(Collection c):构造一个包含指定集合的元素的列表ArrayList(int initialCapacity):构造具有指定初始容量的空列表。
成员方法
public boolean add(E e): 将指定的元素添加到此集合的 尾部。public void add(int index, E element):在指定位置 插入元素public E remove(int index):根据索引 移除 元素,并返回被移除的元素。public E get(int index):返回此集合中指定位置上的元素。public int size():返回此集合中的元素数 数量
例子:
//创建ArrayList对象,用接口类型的引用来指向,多态
//接口相当于父类,接口的引用指向实现类的对象,多态
List list=new ArrayList();
list.add("李雷");//索引是0
list.add("韩梅梅");//索引是1
list.add(1,"lucy");//在索引是1的位置插入lucy,原来数据都往后移动
// list.remove("李雷");//根据元素移除
list.remove(2);//根据索引移除
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));//根据索引取出元素
}
例子
遍历
//创建集合对象
List list = new ArrayList();
//添加元素 list.add("hello");
list.add("world");
list.add("java");
//public E get(int index):返回指定索引处的元素
System.out.println("get:"+list.get(0));
System.out.println("get:"+list.get(1));
System.out.println("get:"+list.get(2));
//public int size():返回集合中的元素的个数
System.out.println("size:"+list.size());
//public E remove(int index):删除指定索引处的元素,返回被删除的元素
System.out.println("remove:"+list.remove(0));
//遍历输出
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
get() 方法为什么返回 Object
// 创建对象
List list = new ArrayList();
list.add("李雷");
// Integer x = 20; // 装箱
list.add(20); // 实际放的是Integer类对象
list.add(3.14);
list.add(new Date());
// 遍历
for ( int i = 0; i< list.size() ; i++){
// 父类(Object)的引用,指向子类(String)的对象,体现多态
Object o = list.get(i);
System.out.println(o);
}
对象添加到集合
自定义4个学生对象,添加到集合,并遍历
//创建集合对象
ArrayList<Student> list = new ArrayList<Student>();
//创建学生对象
Student s1 = new Student("赵丽颖",18);
Student s2 = new Student("唐嫣",20);
Student s3 = new Student("景甜",25);
Student s4 = new Student("柳岩",19);
//把学生对象作为元素添加到集合中 list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
//遍历集合
for(int x = 0; x < list.size(); x++) {
Student s = list.get(x);
System.out.println(s.getName()+"‐‐‐"+s.getAge());
}
如何存储基本数据类型
集合 不能存储 基本类型,只能存储引用类型的数据。但是存储 基本数据类型 对应的 包装类 是可以的。所以,想要存储基本类型数据
代码如下:
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
System.out.println(list);
