集合
1.数组的一旦创建就不能修改长度,因此就需要一个可变长度的容器,这种容器就叫做集合。
2.数组与集合的区别
数组 | 集合 | |
长度 | 固定 | 可变 |
存储类型 | 基本数据类型,引用数据类型 | 引用数据类型,基本数据类型的包装类 |
ArrayList
1.ArrayList在java.util包下,使用时需要导包。
2.按照以往的构造方法,无法知道集合里面存储的数据类型是什么,因此就需要一个范型ArrayList<E>,E就代表范型。
//传统的构造方法不能知道集合里面存储的数据类型
ArrayList list = new ArrayList();
//JDK7及以前的方法
ArrayList<String> list = new ArrayList<String>();
//JDK7后
ArrayList<String> list = new ArrayList<>();
//省略了右边的范型,但是尖括号得留着
3.ArrayList类在底层做了一些处理,打印对象不是地址值,而是集合中存储的数据内容,在展示的时候会使用 [ ] 把所有的数据进行包裹。
4.ArrayList中常用方法(增删改查)
方法名 | 说明 |
boolean add(E e) | 添加元素,返回值表示是否添加成功(但是无论添加什么都会返回true,因此可以不去看返回值) |
boolean remove(E e) | 删除指定元素(只删除最前面那一个),返回值表示是否删除成功 |
E remove(int index) | 删除指定索引的元素,返回被删除元素 |
E set(int index,E e) | 修改指定索引下的元素,返回原来的元素 |
E get(int index) | 获取指定索引的元素 |
int size() | 集合的长度,也就是集合中元素的个数 |
5.基本数据类型对应的包装类
基本数据类型 | 对应包装类 |
byte | Byte |
short | Short |
char | Character |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
//若是要存储基本数据类型,范型必须写其包装类
ArrayList<Integer> list = new ArrayList<>();
//jdk5以后,int 和 Integer 之间是可以互相转化的
list.add(123);
list.add(456);
list.add(789);
6.ArrayList里面存储的是对象的地址值。