ArrayList

ArrayList:集合类的子类
是一个长度可变的容器。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

public static void main(String[] args) {
    ArrayList list = new ArrayList();
    // 添加元素
    list.add(1);
    list.add(true);
    list.add("hello");
    // 获取list的元素的 个数
    System.out.println(list.size());

    //移除元素
    list.remove(1);
    //修改元素
    list.set(0,11);
    //遍历ArrayList
    for(int i = 0 ; i < list.size();i++){
        System.out.println(list.get(i));
    }
    // 判断容器中是否包含某一个元素
    System.out.println(list.contains(111));
}


案例:存储字符串并遍历
需求:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合

import java.util.ArrayList;

public class ArrayListDemo_02 {
    /*
    案例:存储字符串并遍历
        需求:创建一个存储字符串的集合,存储3个字符串元素,
        使用程序实现在控制台遍历该集合
      思路:
        1 创建一个 ArrayList
        2 容器中存储的是 String对象
        3 遍历
     */
    public static void main(String[] args) {
        // 创建一个容器
        ArrayList<String> strList = new ArrayList<>();
        //添加元素
        strList.add("java");
        strList.add("HTML");
        strList.add("Spring");
        // 遍历
        for(int i = 0 ; i <strList.size();i++){
            System.out.println(strList.get(i));
        }
        // 使用增强for来遍历
        for(String str : strList){
            System.out.println(str);
        }

    }
}


案例:存储学生对象并遍历
需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
实现一:用数组实现

public class Student {
    private int stuId;// 学号
    private String stuName;//姓名
    private int age;//年龄

    public Student() {
    }

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

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

    public int getStuId() {
        return stuId;
    }

    public void setStuId(int stuId) {
        this.stuId = stuId;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    public void show(){
        System.out.println(this.getStuId() +"--"+this.getStuName()+"---"+this.getAge());
    }
}


public class ArrayListDemo_03 {
    //使用数组来存储自定义类型
    public static void main(String[] args) {
        // 创建自定义类型的数组
        Student[] stuArr = new Student[3];
        stuArr[0]= new Student(1,"张三",22);
        Student stu = new Student();
        stu.setStuId(2);
        stu.setStuName("李四");
        stu.setAge(20);
        stuArr[1] = stu;
        stuArr[2]= new Student(3,"王五",23);
        //遍历数组
        for(int i = 0 ; i < stuArr.length;i++){
            stuArr[i].show();
        }
        System.out.println("------------------------------");
        // 使用增强for
        for(Student student :stuArr){
            student.show();
        }
    }
}


在这里插入图片描述
实现方式二:ArrayList

import java.util.ArrayList;

public class ArrayListDemo_03 {
    //使用数组来存储自定义类型
    public static void main(String[] args) {
       
        //创建一个 容器
        ArrayList<Student> list = new ArrayList<>();
        list.add(new Student(1,"辛巴",21));
        Student student = new Student(2,"李佳琪",25);
        list.add(student);
        list.add(new Student(3,"维亚",28));
        for (int i = 0 ; i < list.size();i++){
            list.get(i).show();
        }
        System.out.println("------------------");
        for(Student stu1 :list){
            stu1.show();

        }
    }
}


案例:存储学生对象并遍历升级版
需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合,学生的姓名和年龄来自于键盘录入
思路:
①定义学生类,为了键盘录入数据方便,把学生类中的成员变量都定义为String类型
②创建集合对象
③键盘录入学生对象所需要的数据
④创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
⑤往集合中添加学生对象
⑥遍历集合,采用通用遍历格式实现

public class ArrayListDemo_04 {
    /*
    需求:创建一个存储学生对象的集合,存储3个学生对象,
    使用程序实现在控制台遍历该集合,
    学生的姓名和年龄来自于键盘录入
     */
    public static void main(String[] args) {
        //1 创建集合
        ArrayList<Student> list = new ArrayList<>();
        //从键盘输入 创建Scanner对象
        Scanner sc = new Scanner(System.in);
        // 2 构建学生对象
        for(int i = 0 ; i < 3 ;i++){
          // 每次都 创建 一个新的学生对象
            Student stu = new Student();
            //为学生对象的属性赋值  输入的时候 最好不要进行混合类型的输入 
            System.out.println("请输入学生的ID:");
            stu.setStuId(sc.nextLine());
            System.out.println("请输入学生的姓名:");
            stu.setStuName(sc.nextLine());
            System.out.println("请输入学生年龄:");
            stu.setAge(sc.nextLine());
            //将创建好的学生对象添加到集合
            list.add(stu);
        }
        //遍历集合  输出学生信息
        for(Student stu : list){
           stu.show();
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值