1.Java集合框架包含的内容
1)Collection 接口存储一组,不唯一,无序的对象
2)List 接口存储一组不唯一,有序(插入顺序)的对象
3)Set 接口存储一组唯一,无序的对象
4)Map接口存储一组键值对象,提供key到value的映射
2.List接口的实现类
ArrayList: 实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
LinkedList: 采用链表存储方式,插入、删除元素时效率比较高
3.ArrayList常用方法
方法名 说明
boolean add(Object o) 在列表的末尾顺序添加元素,起始索引位置从0开始
void add(int index,Object o) 在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间
Object get(int index) 返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换
boolean contains(Object o) 判断列表中是否存在指定元素
boolean remove(Object o) 从列表中删除元素
Object remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始
Collection接口常用通用方法还有:clear()、isEmpty()、iterator()、toArray()
4.LinkedList常用方法
方法名 说明
void addFirst(Object o) 在列表的首部添加元素
void addLast(Object o) 在列表的末尾添加元素
Object getFirst() 返回列表中的第一个元素
Object getLast() 返回列表中的最后一个元素
Object removeFirst() 删除并返回列表中的第一个元素
Object removeLast() 删除并返回列表中的最后一个元素
5.Set接口
1)Set接口存储一组唯一,无序的对象
2)HashSet是Set接口常用的实现类
3)Set中存放对象的引用
6.迭代器Iterator
方法1:通过迭代器Iterator实现遍历
1)获取Iterator :Collection 接口的iterator()方法
2)Iterator的方法
boolean hasNext(): 判断是否存在另一个可访问的元素
Object next(): 返回要访问的下一个元素
方法2:增强型for循环
7. Map接口
Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作
最常用的实现类是HashMap
8.Map接口常用方法
方法名 说明
Object put(Object key, Object val) 以“键-值”对的方式进行存储
Object get(Object key) 根据键返回相关联的值,如果不存在指定的键,返回null
Object remove(Object key) 删除由指定的键映射的“键-值对”
int size() 返回元素个数
Set keySet() 返回键的集合
Collection values() 返回值的集合
boolean containsKey(Object key) 如果存在由指定的键映射的“键-值对”,返回true
8.遍历Map集合
方法1:通过迭代器Iterator实现遍历
方法2:增强型for循环
方法3:键值对
9.泛型集合
1)如何解决以下强制类型转换时容易出现的异常问题
1)List的get(int index)方法获取元素
2)Map的get(Object key)方法获取元素
3)Iterator的next()方法获取元素
2)泛型集合可以约束集合内的元素类型
3)典型泛型集合ArrayList<E>、HashMap<K,V>
<E>、<K,V>表示该泛型集合中的元素类型
泛型集合中的数据不再转换为Object
10.泛型
将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性
11.Collections算法类
1)Java集合框架将针对不同数据结构算法的实现都保存在工具类中
2)Collections类定义了一系列用于操作集合的静态方法
12.Collections类常用方法
1)Collections和Collection不同,前者是集合的操作类,后者是集合接口
2)Collections提供的常用静态方法
sort():排序
binarySearch():查找
max()\min():查找最大\最小值
13.Collections排序
1)Collections类可以对集合进行排序、查找和替换操作
2)实现一个类的对象之间比较大小,该类要实现Comparable接口
重写compareTo()方法