学习时间
2020-12-24
学习内容
对象数组
需求:我有3个学生,请把这个3个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息。
学生:Student
成员变量:name,age
构造方法:无参,带参
成员方法:getXxx()/setXxx()
演示:
public class Test {
public static void main(String[] args) {
Student s1 = new Student("小张", 15);
Student s2 = new Student("小李", 18);
Student s3 = new Student("小王", 20);
Student[] arr = new Student[3];
arr[0] = s1;
arr[1] = s2;
arr[2] = s3;
for (int i = 0; i <= arr.length - 1; i++) {
Student student = (Student) arr[i];
System.out.println(student.getName() + "\t" + student.getAge());
}
}
}
class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int num) {
this.age = age;
}
}
由来
在同时有多个对象时,用数组存储的时候,增删对象就显得极为不便。所以为了方便对多个对象的操作,Java就提供了集合类。
数组和集合的区别
(1): 长度区别:
数组的长度是固定的而集合的长度是可变的
(2): 存储数据类型的区别:
数组可以存储基本数据类型 , 也可以存储引用数据类型; 而集合只能存储引用数据类型
(3): 内容区别:
数组只能存储同种数据类型的元素 ,集合可以存储不同类型的元素
集合继承体系图
ArrayList:
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
Vector:
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
LinkedList:
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。