Java中运用ArrayList和不用ArrayList的区别——存储学生对象并遍历
简单介绍
- 什么是集合
提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 - ArrayList集合的特点
底层是数组实现的,长度可以变化 - 泛型的使用
用于约束集合中存储元素的数据类型
题目要求
创建一个存储学生对象的集合,存储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);
}
}
下面给出运行的结果:
如果对您有帮助的话,不妨点个赞支持一下呗!