Java集合是java提供的工具包,位于java.util.*
包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。
Java集合主要可以划分为4个部分:
Set集合、List列表、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)
Java集合框架图:
大致说明:
一、看上面的框架图,先抓住它的主干,即Collection和Map。
1、Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。
Collection包含了List和Set两大分支。
a. List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。
List的实现类有LinkedList, ArrayList, Vector, Stack。
b. Set是一个不允许有重复元素的集合。
Set的实现类有HastSet和TreeSet。
HashSet依赖于HashMap,它实际上是通过HashMap实现的;
TreeSet依赖于TreeMap, 它实际上是通过TreeMap实现的。
2、 Map是一个映射接口,即key-value键值对。Map中的每一个元素包含“一个key”和“key对应的value”。
AbstractMap是个抽象类,它实现了Map接口中的大部分API。
而HashMap,TreeMap,WeakHashMap都是继承于AbstractMap。
Hashtable虽然继承于Dictionary接口,但它实现了Map接口。
3、Iterator。它是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。
a.我们说Collection依赖于Iterator,是因为Collection的实现类都要实现iterator()函数,返回一个Iterator对象。
b.ListIterator是专门为遍历List而存在的。
4、Arrays和Collections。它们是操作数组、集合的两个工具类
二、Collection接口操作
1、集合增加删除操作
//向集合里添加一个元素
// 如果集合对象被添加,操作改变了返回true
boolean add(Obeject o);
//把集合c里的所有元素添加到指定的集合里
// 如果集合对象被添加,操作改变了返回true
boolean addAll(Collection c);
// 删除集合中指定元素,当集合中包含一个或多个都会被删除
// 从集合中删除集合c里包含的所有元素,集合差集操作
// 从集合中删除集合c里不包含的所有元素,集合交集操作
//返回集合里是否包含指定元素
//返回集合里是否包含集合c里的所有元素
// 返回集合里元素的个数
//返回集合是否为空
// 集合长度为0时返回true,否则返回false
// 返回一个Iterator对象,用于遍历集合里的元素
//清空集合里的所有元素,将集合长度变为0
void clear();
// 把集合转换成一个数组,如果实现Object[]类型转换会抛出类型转换异常
// 把集合转换成一个数组
// 比较对象
// 返回集合的hashCode值
案例参考《JAVA疯狂讲义》