(此图内容不全,将就看)
“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。其他的组成部分还有抽象类和具体类。
我们这里暂时理解集合框架的三大接口。(collection/map/iterator)
一、collection接口是一组可以重复的对象。set接口和list接口继承了collection。
1、set接口不允许重复,其中存储的元素是无序的,也可以说set中的元素没有索引;
set接口有2个实现类:
----HashSet:底层是哈希码值,基于HashMap实现的。
----TreeSet:将元素进行了排序,并且没有重复的元素。
2、list接口允许重复,放置元素的顺序就是排放次序;List集合中的元素都是和索引有关系,索引List集合扩展的方法都是与索引有关系。
List有三个实现的类:
----ArrayList:数组列表,数据采用数组方式存储。
----LinkedList:链表。
----Vector:现阶段已淘汰使用。
3、Queue:Queue是Collection的子接口,具有所有集合基本操作,除此之外,Queue还提供了一些新的插入、提取、查询等方法。
队列:一种特殊的线性表,它只允许在表的前端(队头)进行删除操作,而在表的后端(队尾)进行插入操作。队列中没有元素时,称之为空队列。
优点:它通过返回值可以判断是否成功,add()和remove()方法在失败时会抛出异常。
二、Map:Map接口是一组成对的键-值对象,即所持有的是key-value 。Map中不能有重复的key。拥有自己的内部排列机制。
1 、 HashMap:
HashMap通过hashcode对其内容进行快速查找, HashMap中元素的排列顺序是不固定的。
2、 TreeMap.:
TreeMap中所有的元素都保持着某种固定的顺序,如果需要得到一个有序的Map就应该使用TreeMap.。
三、Iterator:一个遍历集合的迭代泛型接口。
常用的2个方法如下:
1、hasNext():这个方法用来判断被迭代的集合中是否存在元素。
2、next():返回集合中的当前元素。
(这个接口描写较少,但很常用。)