1、Java集合框架包含的内容
1.1、Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中。
1.2
1)Collection 接口存储一组 不唯一,无序的对象
2)List 接口存储一组不唯一,有序(插入顺序)的对象
3)Set 接口存储一组唯一,无序的对象
4)Map接口存储一组键值对象,提供key到value的映射
2、List接口的实现类
2.1、ArrayList实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
2.2、LinkedList采用链表存储方式,插入、删除元素时效率比较高
2.3、存储方式
1)ArrayList类是List接口的一个具体实现类
2)ArrayList对象实现了可变大小的数组
3)随机访问和遍历元素时,它提供更好的性能
2.4、ArrayList常用方法
2.5、LinkedList集合类
1)存储方式
a、LinkedList类是List接口的一个具体实现类
b、LinkedList 类用于创建链表数据结构
c、插入或者删除元素时,它提供更好的性能
2)LinkedList常用方法
3、Set接口
3.1
1)Set接口存储一组唯一,无序的对象
2)HashSet是Set接口常用的实现类
3) Set中存放对象的引用
3.2、Set接口如何判断加入对象是否已经存在呢
采用对象的equals()方法比较两个对象是否相等
3.3、HashSet是Set接口常用的实现类
3.4、Set接口不存在get()方法
4、迭代器Iterator
4.1、如何遍历Set集合呢?
1)通过迭代器Iterator实现遍历
a、获取Iterator :Collection 接口的iterator()方法
b、Iterator的方法
boolean hasNext(): 判断是否存在另一个可访问的元素
Object next(): 返回要访问的下一个元素
2)增强型for循环
5、Map接口
5.1、Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作
最常用的实现类是HashMap
5.2、Map接口常用方法
5.3、 遍历Map集合
1)通过迭代器Iterator实现遍历
2)增强型for循环
3)键值对
6、泛型集合
6.1、如何解决以下强制类型转换时容易出现的异常问题
1)List的get(int index)方法获取元素
2)Map的get(Object key)方法获取元素
3)Iterator的next()方法获取元素
通过泛型
JDK5.0使用泛型改写了集合框架中的所有接口和类
6.2、什么是泛型
将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性
本质是参数化类型
6.3、泛型集合
1)泛型集合可以约束集合内的元素类型
2)典型泛型集合ArrayList<E>、HashMap<K,V>
a、<E>、<K,V>表示该泛型集合中的元素类型
b、泛型集合中的数据不再转换为Object
3)除了指定了集合中的元素类型外,泛型集合和之前学习的集合的用法完全一样
7、Collections算法类
7.1、定义
Java集合框架将针对不同数据结构算法的实现都保存在工具类中
Collections类定义了一系列用于操作集合的静态方法
7.2、Collections类常用方法
1)Collections和Collection不同,前者是集合的操作类,后者是集合接口
2)Collections提供的常用静态方法
a、sort():排序
b、binarySearch():查找
c、max()\min():查找最大\最小值
7.3、Collections排序
1)Collections类可以对集合进行排序、查找和替换操作
2)实现一个类的对象之间比较大小,该类要实现Comparable接口
重写compareTo()方法