对象数组&ArrayList
对象数组
给定一个Person类
package Class;
public class Person {
private String name;
private int age; //加了之后只能在本类中使用
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void show() {
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
}
}
通过这个类可以创建一个对象数组
package Array;
import Class.Person;
public class objectArray {
public static void main(String[] args) {
//创建一个长度为3的数组,里面用来存放Person类型的对象
Person[] arr = new Person[3];
//创建三个对象,对象名字其实存储的是地址
Person one = new Person("Jack", 19);
Person two = new Person("Alice", 22);
Person three = new Person("Lin", 31);
arr[0] = one;
arr[1] = two;
arr[2] = three;
arr[0].show();
arr[1].show();
arr[2].show();
}
}
但是这样有一个缺点,数组的长度不能改变
为了解决这个·问题,我们可以使用ArrayList类
ArrayList类
ArrayList是采用类型参数的泛型类
对于ArrayList来说,有一个尖括号表示它是泛型。
什么是泛型?
泛型就是装在集合中的元素,全是统一的类型。
泛型只能是引用数据类型,不能是基本类型。
ArrayList的创建
package Class;
import java.util.ArrayList;
//数组的长度不可改变,但ArrayList可以变
public class ArrayList_ {
public static void main(String[] args) {
//创建了一个ArrayList集合,集合的名称是list,
//里面是装的都是String类型的数据
//备注:从JDK1.7开始,右侧的尖括号可以不写内容(与左侧一样)
ArrayList<String> list = new ArrayList<>();
//添加一些数据
list.add("who I love");
list.add("I love you");
list.add("who are you");