java学习笔记(ArrayList集合)
对象数组
- java中数组可以储存任意对象,包括自定义的类实例化生成的对象
- 下图中定义了一个Person的类
- 接下来创建一个长度数组,用来储存三个Person对象
- 当数组被创建后,如果没有向数组中添加元素,那么数组中的值全部为null
- 输出为null
- 如果将对象作为元素添加入数组中,那么数组中存放的为对象的地址值
- 最后得到的输出为3个对象的地址值
- 此时,数组元素可以直接代表实例化后的对象,来调用该类中的方法
- 数组作为一种容器有一个很大的缺点,那就是数组一旦被创建,那么它的长度就被确定了下来。如果想要添加别的元素,就需要另外创建一个数组来存放,并且要将原数组的内容挪至新数组中。
ArrayList集合
什么是ArrayList集合
- ArrayList是一种类似于数组的容器,它可以存放java中的对象
- ArrayList相较于数组的优点就是,数组的长度是固定的。而ArrayList的长度可以改变,可以通过add的方法向ArrayList中添加元素。
- ArrayList中存放的数据只能是引用类型,不可以是基本类型
如何使用ArrayList
-
导包:java.util.ArrayList<E>
- ArrayList<E>中的<E>代指泛型的意思。
- 泛型:就是装在集合当中的所有元素,全都是统一的什么类型
- 注意:泛型只能是引用类型,不能是基本类型
-
实例化:ArrayList<String> list = new ArrayList<>();
- 创建了一个ArrayList集合,集合的名字是list,里面装的全都是String字符串类型的数据
- 注意:从JDK 1.7+开始,右侧的尖括号可以不写内容,但是<>本身还是要写的
- 对于ArrayList集合来说,**直接打印得到的不是地址值,而是内容。**如果内容为空,得到的则是中括号[]。
ArrayList集合的常用方法
方法名 | 返回值 | 参数类型功能 | 功能 |
---|---|---|---|
add(E e) | 是否添加成功(boolean) | 和集合中元素类型一致 | 向集合当中添加元素 |
get(int index) | 对应位置的元素(与ArrayList中元素的类型一致) | 要获取元素的索引值 | 从集合中获取元素 |
remove(int index) | 从集合中删除的元素(与ArrayList中元素的类型一致) | 要删除元素的索引值 | 从集合中删除元素 |
size() | 集合中包含元素的个数(int) | – | 获取集合的长度 |
- 注意:对于ArrayList集合来说,add添加动作是一定成功的,所以add()的返回值可用可不用。大是对于其他集合来说,add添加的动作不一定成功。
ArrayList储存基本数据类型
- 由于泛型只能储存引用类型,不能储存基本数据类型。因此需要对基本数据类型进行“包装”,使得ArrayList集合可以存放基本数据类型
基本类型 | 包装类(引用类型,包装类都位于java.lang包下) |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
- 除了Integer(int)和Character(char),其他都只要将首字母变为大写即可
- 从JDK 1.5+开始,都支持自动装箱、自动拆箱
- 自动装箱:基本类型 --> 包装类
- 自动拆箱:包装类 --> 基本类型