集合
本章内容
- 集合框架概述
- List接口
- Map接口
- 集合遍历
1. 集合框架概述
-
- Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中
- Collection 接口是集合的超级父接口,用于存储对象
- Collection 接口有两个子接口:List和Set
List 接口存储一组有序(插入顺序)、但重复的对象
set 接口存储一组无序、不重复的对象
2. List接口
- List接口有两个实现类:ArrayList和LinkedList
- ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
- LinkedList采用链表存储方式。插入、删除元素时效率比较高,但是查询的效率较慢
- List接口的方法:
-
- add(Object o):添加元素或对象
- add(int index,Object o):在指定的位置添加元素或对象
- size():返回列表中的元素或对象的个数
- get(int index):返回指定索引位置处的元素或对象。取出的元素是Object类型,使用前需要进行强制类型转换
- contains(Object o):判断列表中是否存在指定的元素或对象
- remove(Object o):从列表中删除元素或对象
- remove(int index):从列表中删除指定位置的元素,起始索引位置从0开始
-
- ArrayList实现了List接口。所以具有List接口的所有方法。
- 当插入、删除操作频繁时,可使用LinkedList来提高效率
-
- LinkedList提供了对头部和尾部元素进行添加和删除操作的方法
- addFirst(Object o):在列表的首部添加元素
- addLast(Object o):在列表的末尾添加元素
- getFirst():返回列表中的第一个元素
- getLast():返回列表中的最后一个元素
- removeFirst():删除并返回列表中的第一个元素
- removeLast():删除并返回列表中的最后一个元素
-
- 演示:创建一个集合,可以保存任何类型的数据
3. Map接口 Key - Value
- Map接口专门处理键值映射数据的存储,可以根据键实现键值对的操作
- 最常用的实现类是HashMap
- Map接口的常用方法:
-
- put(Object key, Object val):以“键-值对”的方式进行存储
- get(Object key):根据键返回相关联的值,如果不存在指定的键,返回null
- remove(Object key):删除由指定的键映射的“键-值对”
- size():返回元素个数
- Set keySet():返回键的集合
- Collection values():返回值的集合
- containsKey(Object key):如果存在由指定的键映射的“键-值对”,返回true
-
4. 集合遍历
- 方法1:通过迭代器Iterator实现遍历
获取Iterator :Collection 接口的iterate()方法
Iterator的方法
boolean hasNext(): 判断是否存在另一个可访问的元素
Object next(): 返回要访问的下一个元素,并移动下标
示例:使用迭代器循环遍历list集合
- 方法2:增强型for循环 ——foreach
for(元素类型t 元素变量x : 数组或集合对象){
引用了x的java语句
}
- Map遍历推荐