从0学开发笔记-对象数组、ArrayList集合
1.对象数组概念
对象数组就是创建一个数组用来存放对象的地址。
- 先创建一个Person类型的长度为n数组
- 创建n个Person类型的对象,将对象存在数组中
缺点:数组的长度在程序运行的时候就不会发生改变,所以在改变长度时,我们可以用ArrayList集合
package cn.itcast.day04.demo03;
public class Demo01Array {
public static void main(String[] args) {
//创建一个长度为3的数组,里面用来存放Person类型的对象
Person[] array = new Person[3];
Person one = new Person("迪丽热巴",20);
Person two = new Person("杨幂",30);
Person three = new Person("佟丽娅",35);
//将one two three的地址值赋值到数组当中
array[0] = one;
array[1] = two;
array[2] = three;
System.out.println(array[0].getName());
System.out.println(array[1].getName());
System.out.println(array[2].getName());
}
}
2. ArrayList集合
2.1ArrayList 类的基本使用
数组的长度不可以改变,但是ArrayList的长度是可以改变的。
对于ArrayList来说,有一个< E > 代表泛型。
泛型:也就是装在集合中的所有元素,全都是统一的什么类型
注意:泛型只能是引用类型,不能是基本类型(要是基本类型的话,有解决方案)
注意事项 :对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。如果内容时空,得到的是括号:[]
向集合中添加一些数据用到add方法
package cn.itcast.day04.demo03;
import java.util.ArrayList;
public class Demo02ArrayList {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("赵丽颖");
list.add("杨幂");
list.add("佟丽娅");
System.out.println(list);
}
}
ArrayList 集合的常用方法和遍历
- 常用的方法
- public boolean add(E e) ;//向集合中添加元素,参数的类型和泛型一致
- public E get(int index); //从集合当中获取元素,参数是索引编号,返回值是对应位置的元素
- public int remove(int index );//从集合中删除元素,参数是索引编号,返回值就是被删除的元素
- public int size() ;//获取集合的尺寸长度,返回值是集合中包含元素的个数
package cn.itcast.day04.demo03;
import java.util.ArrayList;
public class Demo03ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
//向集合中添加元素
boolean success = list.add("赵丽颖");
System.out.println(list);
System.out.println("添加动作是否成功" + success);
list.add("高圆圆");
list.add("杨幂");
System.out.println(list);
//获取2位置的名字
String name = list.get(2);
System.out.println(name);
//删除1号位置
String removename = list.remove(1);
System.out.println(list);
//获取集合的长度
int size = list.size();
System.out.println(size);
}
}
- 用ArrayList存储基本类型的解决方案
如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的包装类。(具体原理目前没学,盲猜应该这个包装类就是放的数据的地址,因为ArrayList放的就是地址。)
基本类型和包装类对应如下:
byte Byte
short Short
int Integer (特殊)
long Long
float Float
double Double
char Character (特殊)
boolean Boolean