1. Collection:最基本的集合接口;有一个帮助类叫做Collections用于表示任何对象或元素组,想要尽可能以常规方式处理一组元素师,就使用这一类,实际上使用很少;

  2. List:继承了Collection接口以定义一个允许重复项的有序集合;该接口是连续的所以面向位子的操作对它来说很方便,也就是对第几个位子上的元素进行操作;

  3. LinkedList:它是链表结构,它添加了一些处理列表两端的元素的方法;这个就是应为它的结构导致了它在插入元素方面有优势,而在遍历方便有缺陷;Java中这个类提供了对首尾元素的获取和修改和删除的方法;使用这些方法我们可以把它当做一个堆栈、队列或其他一些面向端点的数据结构;

  4. ArrayList:封装了一个动态再分配的Object[]数组;它是线性结构决定它在对某个位置的元素的操作上有优势,但是在插入元素上有缺陷,因为你如果向第一个位置插入元素,那么后面的所有元素都要移动,明显是很浪费资源的;

  5. Vector:类似于ArrayList只不过它是线程安全的;

  6. Set:继承Collection接口,而且它不允许集合中存在重复项,它是依赖对象的equal方法来检查独一性的;它没有引进新方法,所以它其实就是一个Collection,只不过其行为不同;

  7. HashSet:无序的存储不重复自由集合,可以允许存在一个null;

  8. TreeSet:使用二叉树结构;有序的存取元素,为此呢,你添加到TreeSet中的元素必须是可排序的,在你添加元素时它就自动按照某种规则排好了顺序;

  9. LinkedHashSet:扩展HashSet,它可以按元素插入的顺序来访问各个元素;提供了一个可以快速访问各个元素的有序集合;它增加了实现的代价,因为它要以双向链表的方式将哈希表元中的元素链接在一起;

  10. Map:不是继承 Collection了,它是用于维护键值对的;键和值都可以是null,但是只能有一个键为null,且不能把map作为一个键或者值添加给自己;

  11. HashMap:便于在map中插入、删除、和定位元素,访问速度快,最常用;

  12. HashTable:与HashMap相似,线程安全,不允许键或值为null;

  13. TreeMap:需要按照自然的顺序或自定义顺序遍历map时使用,所以遍历时得到的是有序的结果;

  14. LinkedHashMap:也是为了以插入的顺序遍历map,也双向链表结构;

  15. Iterator:在Collection和List接口中都有一个iterator()方法返回一个itreator,它能以迭代的方式逐个的访问集合中的各个元素

  16. Boolean hasNext();判断是否存在另一个可访问的元素

  17. Object next();返回要访问的下一个元素;如果到达集合结尾则抛出NoSuchElementException异常;

  18. void remove();删除上次访问返回的对象;本方法必须紧跟在一个元素的访问后面,如果上次访问后集合已被修改,那么僵抛出IllegalStateException异常;

  19. Hash表:是一种数据结构,用来查找对象;它为每个对象计算出一个整数,称为HashCode(如果我记得没错的话这里的计算在不同的地方所用的计算方法也不同)。

  20. Comparable接口和Comparator接口:集合框架中的两种毕节接口;Java中的想String啊Integer之类的内建类实现了Comparable接口以提供一定的排序方式;自己编写的类可以通过实现Comparator接口来定义自己的比较方式;

  21. 在java.lang包中Comparable接口适用于一个类有自然顺序的时候,假定对象集合是同一类型,该接口允许你把集合排序成自然顺序;什么意思呢,就是说啊,在java2SDK版本1.4中有二十四个类实现了这个接口,BigDecimal,BigInteger,Byte, Double, Float,Integer,Long,Short 按数字大小排序 

Character  按 Unicode 值的数字大小排序  String  按字符串中字符 Unicode 值排序 即可对对象进行排序了;

6个接口、5个抽象类、8个实现类

本笔记的学习于:http://doc.okbase.net/DavidIsOK/archive/94766.html