JavaSE——集合ArrayList

集合和数组的优势对比:

  1. 长度可变

  2. 添加数据的时候不需要考虑索引,默认将数据添加到末尾

1.1 ArrayList类概述

  • 什么是集合

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

  • ArrayList集合的特点

    长度可以变化,只能存储引用数据类型。

  • 泛型的使用

    用于约束集合中存储元素的数据类型

1.2 ArrayList类常用方法

1.2.1 构造方法

方法名说明
public ArrayList() 创建一个空的集合对象

1.2.2 成员方法

方法名说明
public boolean add(要添加的元素) 将指定的元素追加到此集合的末尾
public boolean remove(要删除的元素) 删除指定元素,返回值表示是否删除成功
public E remove(int index) 删除指定索引处的元素,返回被删除的元素
public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
public E get(int index) 返回指定索引处的元素
public int size() 返回集合中的元素的个数

 

package com.zhao.listdemo;

import java.util.ArrayList;

public class ArrayListDemo1 {
    public static void main(String[] args) {
        //创建一个集合
        ArrayList<String> arrayList=new ArrayList<>();
        //添加元素,返回类型是布尔类型
        boolean b1=arrayList.add("aaa");
        System.out.println(b1);//-->true
        arrayList.add("bbb");
        arrayList.add("ccc");

        //删除 .remove()
        //第一种:直接删除元素,返回类型是布尔类型
        //boolean b2=arrayList.remove("aaa");
        //System.out.println(b2);//-->true

        //第二种:根据索引删除,返回的是被删除的旧元素
        //String removedStr=arrayList.remove(0);
        //System.out.println(removedStr);//-->aaa

        //修改 .set(索引,修改内容),返回的是被覆盖的旧元素
        String str1=arrayList.set(0,"AAA");
        System.out.println(str1);//-->aaa

        //查询 .get(),返回的是当前索引下的元素
        String str2=arrayList.get(0);
        System.out.println(str2);//-->AAA
        
        //遍历
        for (int i = 0; i < arrayList.size(); i++) {
            String string=arrayList.get(i);
            System.out.print(string+" ");
            //-->AAA bbb ccc
        }
    }
}

 

 

package com.zhao.test;

public class Student {
    private String name;
    private int age;

    public Student() {
    }

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

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return age
     */
    public int getAge() {
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(int age) {
        this.age = age;
    }

    public String toString() {
        return "Student{name = " + name + ", age = " + age + "}";
    }
}
package com.zhao.test;

import java.util.ArrayList;

public class ArrayListTest1 {
    public static void main(String[] args) {
        //创建集合
        ArrayList<Student> arrayList=new ArrayList<>();
        //创建学生对象
        Student s1=new Student("张三",18);
        Student s2=new Student("李四",19);
        Student s3=new Student("王五",20);
        //添加
        arrayList.add(s1);
        arrayList.add(s2);
        arrayList.add(s3);
        //遍历
        for (int i = 0; i < arrayList.size(); i++) {
            Student student=arrayList.get(i);
            System.out.println(student.getAge()+" "+student.getName());
        }
  }
}

 

posted @ 2023-03-05 16:35  SuzukiHane  阅读(72)  评论(0)    收藏  举报