java的具体集合和集合中的接口关系图

集合常用方法

add 增加
contains 判断是否存在
get 获取指定位置的对象
indexOf 获取对象所处的位置
remove 删除
set 替换
size 获取大小
toArray 转换为数组
addAll 把另一个容器所有对象都加进来
clear 清空

Collections类

Collections是一个类,容器的工具类,就如同Arrays是数组的工具类
reverse 反转
shuffle 混淆
sort 排序
swap 交换
rotate 滚动
synchronizedList 线程安全化

集合框架中的接口


Collection是 Set List Queue和 Deque的接口
Queue: 先进先出队列
Deque: 双向链表

注:Collection和Map之间没有关系,Collection是放一个一个对象的,Map 是放键值对的
注:Deque 继承 Queue,间接的继承了 Collection

List 是一个有序集合。元 素 会 增 加 到 容 器 中 的 特 定 位 置 。 可 以 采 用两种方式访问元素 :

使用迭代器访问,或者使用一个整数索引来访问。
后一种方法称为随机访问( random access) , 因为这样可以按任意顺序访问元素。
与之不同 , 使用迭代器访问时 ,必须顺序地访问元素。

Set 接口等同于 Collection 接口,不过其方法的行为有更严谨的定义。集 ( set )的 add 方法不允许增加重复的元素。
要适当地定义集的 equals 方法 : 只要两个集包含同样的元素就认为是相等的,而不要求这些元素有同样的顺序 。

hashCode 方法的定义要保证包含相同元素的两个集会得到相同的散列码。

SortedSet 和 SortedMap 接口会提供用于排序的比较器对象, 这两个接口定义了可以得到集合子集视图的方法。

Java SE 6 引人了接口 NavigableSet 和 NavigableMap ,
其中包含一些用于搜索和遍历有序集和映射的方法。(理想情况下,这些方法本应当直接包含在 SortedSet和 SortedMap接口中。)TreeSet 和 TreeMap 类实现了这些接口。

标记接口 RandomAccess:为了避免对链表完成随机访问操作 –Java SE 1.4 引入。

具体的集合

ArrayList 一种可以动态增长和缩减的索引序列
LinkedList 一种可以在任何位置进行高效地插人和删除操作的有序序列
ArrayDeque 一种用循环数组实现的双端队列
HashSet 一种没有重复元素的无序集合
TreeSet — 种有序集
EnumSet 一种包含枚举类型值的集
LinkedHashSet 一种可以记住元素插人次序的集
PriorityQueue 一种允许高效删除最小元素的集合
HashMap 一种存储键 / 值关联的数据结构
TreeMap — 种键值有序排列的映射表
EnumMap 一种键值属于枚举类型的映射表
LinkedHashMap 一种可以记住键 / 值项添加次序的映射表
WeakHashMap 一种其值无用武之地后可以被垃圾回收器回收的映射表
IdentityHashMap 一种用 = 而不是用 equals 比较键值的映射表

Hashtable、Vector线程安全的类

本文章参考《core java第十版》与 how2j