一、集合
集合是一种容器,用来装数据的,类似于数组,但是数组定义完成并启动之后,长度就固定了,集合大小是可变的,在实际开发中应用的更多。
二、集合和数组的使用选择
数组:存储的元素个数固定不变时使用
集合:存储的元素个数经常发生改变
三、ArrayList
1.ArrayList 集合长度可变原理
当创建ArrayList集合容器的时候,底层会存在一个长度为10个大小的空数组,当10个大小的空数组装满之后,如果又像集合中存入数据,这时系统会在开辟原数组1.5大小的新数组(15个大小),将原数组的数据复制到新数组中,再将添加的数据添加到新的数组,原来的数组将等待java垃圾回收机制处理。
2.ArrayList集合常用成员方法
2.ArrayList集合的使用
①创建集合
ArrayList<Double> list= new ArrayList<>();
<>:这个被称为泛型
目前: 使用泛型, 可以对集合中存储的数据, 进行类型限制
细节: 泛型中, 不允许编写基本数据类型
使用基本数据类型, 所对应的包装类:
byte Byte
short Short
int Integer ***
long Long
float Float
double Double
boolean Boolean
char Character ***
注意红色基本数据类型的包装类,其余首字母大写
如果创建集合的时候不使用泛型就可以在集合中添加任意类型的数据,这样做出来的数据就不够严谨,慎用。
②向集合内添加元素
list.add(11.1);
list.add(22.2);
list.add(33.3);
System.out.println(list);
输出结果[11.1,22.2,33.3]
注:创建String, StringBuilder, ArrayList类的对象, 打印对象名, 都没有看到地址值, 而是元素内容
public boolean add(E e) : 将指定的元素添加到此列表的尾部
public void add(int index, E element) : 在指定索引位置, 添加对应的元素 (插队)
list.add(1,44.4); // 输出结果[11.1,44.4,22.2,33.3]
③删除集合内的元素
public E remove(int index) : 根据索引做删除, 返回被删除掉的元素
public boolean remove(Object o) : 根据元素做删除, 返回是否删除成功的状态
list.remove(44.4);//输出结果[11.1,22.2,33.3]
④修改集合内的元素
public E set(int index, E element) : 修改指定索引位置, 为对应的元素, 返回被覆盖掉的元素
list.set(1, 44.4);//输出结果[11.1, 44.4,33.3]
⑤查找集合内的元素
public E get(int index) : 根据索引, 获取集合中的元素(这个要做接收)
public int size() : 返回集合中元素的个数
Double s = list.get(2);//输出结果33.3