Java基础复习_day07_ArrayList集合

集合

1. 概述

  • 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变

2. 体系结构

在这里插入图片描述

ArrayList集合

1. 特点

  • 长度可以变化
  • 底层是数组实现的
  • 存储的元素是可以重复的

2. 创建格式

  • ArrayList<要保存元素的数据类型> 对象名 = new ArrayList<要保存元素的数据类型>();
ArrayList<String> users = new ArrayList<>();
泛型的概念:
泛型是一种广泛的数据类型,用于约束集合存储的元素数据类型
例如:
   我们想存储字符串类型的数据,就可以这样写:ArrayList<String>
   我们想存储学生类型的数据,就可以这样写:ArrayList<Student>

3. 常用方法

① add(E e) 将指定的元素添加到此列表的尾部,返回值为布尔类型;
② add(int index, E element) 将指定的元素插入此列表中的指定位置,没有返回值;
③ remove(int index) 移除此列表中指定位置上的元素, 返回被删除的元素;
④ remove(Object o) 移除此列表中首次出现的指定元素(如果存在),返回值为布尔类型;
⑤: set(int index, E element) 用指定的元素替代此列表中指定位置上的元素, 返回以前位于该指定位置上的元素;
⑥ get(int index) 返回此列表中指定位置上的元素。
⑦ size() 返回此列表中的元素数。
⑧ contains(Object o) 如果此列表中包含指定的元素,则返回 true。
⑨ addAll(Collection<? extends E> c) 按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。

4. 集合与数组的区别

  • 数组的长度是固定的,而集合的长度是可变的;
  • 数组可以直接保存基本数据类型的数据,而集合不能直接保存基本数据类型的数据;(如果想保存基本数据类型的数据,需要使用对应的包装类型);

5. ArrayList集合的练习

  • ArrayList集合存储学生对象并遍历;
public class myArrayList {
    public static void main(String[] args) {
        // 创建集合对象
        ArrayList<Student> students = new ArrayList<>();

        // 创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        // 循环录入学生信息
        for (int i = 0; i < 3; i++) {
            // 键盘录入学生信息
            System.out.println("请输入第"+(i+1)+"个学生的id");
            int id = sc.nextInt();

            System.out.println("请输入第"+(i+1)+"个学生的姓名");
            String name = sc.next();

            System.out.println("请输入第"+(i+1)+"个学生的年龄");
            int age = sc.nextInt();

            // 创建学生对象
            Student s = new Student(id, name, age);

            // 把学生对象添加到集合中
            students.add(s);
        }

        // 循环遍历集合对象
        System.out.print("id\t");
        System.out.print("name\t");
        System.out.println("age");
        for (int i = 0; i < students.size(); i++) {
            Student s = students.get(i);
            System.out.print(s.getId() + "\t");
            System.out.print(s.getName() + "\t");
            System.out.println(s.getAge());
        }
    }
}

// 创建学生类
class Student {
    // 成员变量
    private int id;
    private String name;
    private int age;

    // 构造方法
    public Student() {
    }

    public Student(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    // getter and setter
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

运行结果为:
在这里插入图片描述

发布了22 篇原创文章 · 获赞 4 · 访问量 1285

猜你喜欢

转载自blog.csdn.net/weixin_42931689/article/details/104152278
今日推荐