JAVA ArrayList

概述

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);

原文出处:/show_1EF4sHg5YhYi.html