package e1031;
/*
题目:
定义一个数组,用来存储一个Person对象
数组有一个缺点:一旦创建,程序运行期间长度不可以改变
*/
public class Demo01Array {
public static void main(String[] args) {
//首先创建一个长度为3的数组,里面用来存放Person类型的对象
//int[] array = new int[3];
Person[] array = new Person[3];//Person类型的数组
//直接通过构造方法来完成成员变量的赋值
Person one = new Person("迪丽热巴",18);
Person two = new Person("古力娜扎",28);
Person three = new Person("马尔扎哈",38);
//将one当中的地址值赋值到数组的0号元素位置
array[0] = one;
array[1] = two;
array[2] = three;
System.out.println(array[0]);//地址值
System.out.println(array[1]);//地址值
System.out.println(array[2]);//地址值
Person person = array[1];
System.out.println(person.getName());//古力娜扎
//System.out.println(array[1].getName());古力娜扎
}
}
package e1031;
/*
数组的长度不可以发生改变。
但是ArrayList集合的长度是可以改变
对于ArrayList来说,有一个尖括号<E>代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型之能是引用类型,不能是基本类型
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容
如果内容是空,得到的是空的中括号:[]
*/
import java.util.ArrayList;
public class Demo02ArrayList {
public static void main(String[] args) {
//创建了一个ArrayList集合,集合的名称是List,里面装的全都是String字符串类型的数据
//备注:从JDK1.7开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的
ArrayList<String> list = new ArrayList<>();
System.out.println(list);//[]
//向集合中添加一些数据,需要用到add方法
list.add("赵丽颖");
System.out.println(list);//赵丽颖
list.add("迪丽热巴");
list.add("古力娜扎");
list.add("马尔扎哈");
System.out.println(list);//[赵丽颖,迪丽热巴,古力娜扎,马尔扎哈]
//list.add(100);
// 错误写法!因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素必须都是字符串才行
}
}