本章概述
▪ 容器的概念
▪ 容器 API
▪ Collection 接口
▪ Iterator 接口
▪ Iterable接口
▪ Set 接口
▪ Comparable 接口
▪ List 接口
▪ Map 接口
---------------------------------------------------------------------------------------------------------------------
为什么要使用集合框架:如果并不知道程序运行时会需要多少对象,或者需要
更复杂方式存储对象——可以使用Java集合框架
集合框架包含的内容:Java集合框架提供了一套性能优良、使用方便的接口和类,它们
位于java.util包中
java集合框架:
Collection(增删改查):存放的是单一值
特点:
1、可以存放不同类型的数据,而数组只能存放固定类型的数据
2、当使用Arraylist子类实现的时候,初始化的长度是10,当长度不够的时候会自动进行扩容操作
api方法:
增加数据的方法
add:要求必须传入的参数是Object对象,因此当写入基本数据类型的时候,包含了自动拆箱和自动装箱的过程
addAll:添加另一个集合的元素到此集合中
删除数据的方法
clear:只是清空集合中的元素,但是此集合对象并没有被回收
remove:删除指定元素
removeAll:删除集合元素
查询数据的方法
contains:判断集合中是否包含指定的元素值
containsAll:判断此集合中是否包含另一个集合
isEmpty:判断集合是否等于空
retainAll:若集合中拥有另一个集合的所有元素,返回true,否则返回false
size:返回当前集合的大小
集合转数组的操作
toArray:将集合转换成数组
List与Set接口
Collection 接口存储一组不唯一,无序的对象
List 接口存储一组不唯一,有序(插入顺序)的对象
Set 接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射
List接口的实现类
List特点:有序,不唯一(可重复)
ArrayList实现了长度可变的数组,在内存中分配连续的空间。
– 优点:遍历元素和随机访问元素的效率比较高
– 缺点:添加和删除需要大量移动元素效率低,按照内容查询效率低
LinkedList采用链表存储方式。
– 优点:插入、删除元素时效率比较高
– 缺点:遍历和随机访问元素效率低下
Iterator 接口
所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象。
Iterator对象称作迭代器,用以方便的实现对容器内元素的遍历操作。
Iterator接口定义了如下方法: