Java中运用ArrayList和不用ArrayList的区别——存储学生对象并遍历

Java中运用ArrayList和不用ArrayList的区别——存储学生对象并遍历

简单介绍

  1. 什么是集合
    提供一种存储空间可变的存储模型,存储的数据容量可以发生改变
  2. ArrayList集合的特点
    底层是数组实现的,长度可以变化
  3. 泛型的使用
    用于约束集合中存储元素的数据类型

题目要求

创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
学生的姓名和年龄来自于键盘录入

研究代码

Student.java

首先是写一个Student的类,后面用

package study01;

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

    public Student() {
    
    
    }

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

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

    public String getName() {
    
    
        return name;
    }

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

    public String getAge() {
    
    
        return age;
    }
}

MyArrayList.java

下面用了3种不同的方法进行比较,便于我们理解,有兴趣的同学可以看看:

package study01;

import java.util.ArrayList;
import java.util.Scanner;

public class MyArrayList {
    
    
    public static void main(String[] args) {
    
    
        
        //1.普通方法
        
        Student s1 = new Student();
        Student s2 = new Student();
        Student s3 = new Student();
        
        Scanner sc = new Scanner(System.in);
        
        System.out.println("请输入学生姓名:");
        s1.setName(sc.nextLine());
        System.out.println("请输入学生年龄:");
        s1.setAge(sc.nextLine());
        
        System.out.println("请输入学生姓名:");
        s2.setName(sc.nextLine());
        System.out.println("请输入学生年龄:");
        s2.setAge(sc.nextLine());
        
        System.out.println("请输入学生姓名:");
        s3.setName(sc.nextLine());
        System.out.println("请输入学生年龄:");
        s3.setAge(sc.nextLine());
        
        System.out.println(s1.getName() + " " + s1.getAge());
        System.out.println(s2.getName() + " " + s2.getAge());
        System.out.println(s3.getName() + " " + s3.getAge());
        
        
        //2.运用ArrayList
        
        ArrayList<Student> array = new ArrayList<Student>();
//        Student s1 = new Student();
//        Student s2 = new Student();
//        Student s3 = new Student();
//        Scanner sc = new Scanner(System.in);
        
        System.out.println("请输入学生姓名:");
        s1.setName(sc.nextLine());
        System.out.println("请输入学生年龄:");
        s1.setAge(sc.nextLine());
        
        System.out.println("请输入学生姓名:");
        s2.setName(sc.nextLine());
        System.out.println("请输入学生年龄:");
        s2.setAge(sc.nextLine());
        
        System.out.println("请输入学生姓名:");
        s3.setName(sc.nextLine());
        System.out.println("请输入学生年龄:");
        s3.setAge(sc.nextLine());
        
        array.add(s1);
        array.add(s2);
        array.add(s3);
        
        for (int i = 0; i < array.size(); i++) {
    
    
            Student s = array.get(i);
            System.out.println(s.getName() + "," + s.getAge());
        }
        
        
        //3.高效的ArrayList方法
        
        ArrayList<Student> array1 = new ArrayList<Student>();
        for (int i = 0; i < 3; i++) {
    
    
            addStudent(array1);
        }
        for (int i = 0; i < array1.size(); i++) {
    
    
            Student st2 = array1.get(i);
            System.out.println(st2.getName() + " " + st2.getAge());
            
        }
    }

    //这个方法是定义在(3.高效的ArrayList方法)后面的
    public static void addStudent(ArrayList<Student> array1) {
    
    
        Scanner sc1 = new Scanner(System.in);

        System.out.println("请输入学生姓名:");
        String name = sc1.nextLine();

        System.out.println("请输入学生年龄:");
        String age = sc1.nextLine();

        Student st1 = new Student();
        st1.setName(name);
        st1.setAge(age);
        array1.add(st1);
    }
}

下面给出运行的结果:

在这里插入图片描述
在这里插入图片描述
如果对您有帮助的话,不妨点个赞支持一下呗!

猜你喜欢

转载自blog.csdn.net/Freedom_cao/article/details/108565564