ArrayList类(集合)

什么是ArrayList类

ArrayList是大小可变的数组实现,存储在内的数据称之为元素。此类提供一些方法来操作内部存储的元素。ArrayList中可不断添加元素,其大小也自动增长。

查看类:

  • java.util.ArrayList<E>:该类需要导入后,使用。

<E>,表示一种指定的数据类型,叫做泛型。E,取自ELement(元素的)首字母。在出现E的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。

查看构造方法

  • public ArrayList():构造方法是一个内容为空的集合。

查看成员方法:

  • public boolean add(E e):将指定的元素添加到此集合的尾部
  • public E remove(int index):移除此集合中指定位置上的元素。返回被删除的元素
  • public E get(int index):返回此集合中指定位置上的元素,返回获取的元素
  • public int size():返回此集合中的元素数,遍历集合,可以控制索引范围,防止越界。

参数E e,在构造ArrayList对象时,<E>指定什么类型数据类型,那么add(E e)方法中,只能添加什么数据类型的对象

需求:

使用ArrayList类,存储3个元素,删除index为2的元素。遍历数组,

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        // 创建一个集合,指定泛型为String类型,
        ArrayList<String> arr = new ArrayList<String>();
        arr.add("朝气");
        arr.add("吃饭");
        arr.add("多少度");
        // 重写了tostring方法
        System.out.println(arr);//[朝气, 吃饭, 多少度]
        //返回被删除的元素
        System.out.println(arr.remove(2));//多少度
        // 获取此集合中的元素个数
        System.out.println(arr.size());//2
        // 遍历数组
        for (int i = 0; i < arr.size(); i++) {
            //依次输出数组中的元素
            System.out.println(arr.get(i));
        }
    }
}

如何存储基本数据类型

ArrayList对象不能存储基本类型,只能存储引用类型的数据。但是可以存储基本数据类型对应的包装类是可以的。所以要存储基本数据类型,<>中的数据类型,必须是基本数据类型转换后包装类

对象添加到集合

自定义三个学生,对象添加到集合中,遍历

import java.util.ArrayList;

public class ArrayLIstDemo1 {
    public static void main(String[] args) {
        ArrayList<Student> arr = new ArrayList<>();
        // 添加的是对象
        arr.add(new Student(12, "战二"));
        arr.add(new Student(13, "战三"));
        arr.add(new Student(14, "战四"));
        //遍历出每一个对象
        for (int i = 0; i < arr.size(); i++) {
            Student s = arr.get(i);
            System.out.println("我的名字是" + s.getName() + "我的年龄是" + s.getAge());
        }
    }
}

class Student {
    int age;
    String name;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Student() {
    }

    // 全参数构造
    public Student(int age, String name) {
        this.age = age;
        this.name = name;
    }
}

猜你喜欢

转载自www.cnblogs.com/wurengen/p/10640504.html