Collection
1、AbstractCollection,AbstractList等等是为了保留一些方法,而生成的抽象类。
2、List接口下有Vector,ArrayList,LinkedList三个常见实现类,Vector与ArrayList的区别主要在于前者是线程安全的,后者是非线程安全的,底层都是数组实现的,而LinkedList的底层是双向链表实现的。
3、Set的一大特点就是不允许重复的元素出现,通过equals()方法比较。
4、常见的Set实现类有HashSet与TreeSet,HashSet的底层是哈希算法存取元素的(无序),TreeSet的底层数据结构是红黑树(有序),继承了HashSet的LinkedHashSet确是有序的,原因是通过链表把存入的元素按照先后顺序链接了起来。
5、实现Queue接口的常见类有PriorityQueue,它的底层数据结构是实现小根堆的数组;继承Queue接口的接口有Deque,实现Deque接口的常见类有LinkedList与ArrayDeque,他们都符合先进先出原则,不过底层的数据结构一个是数组一个是链表。
Map
1、Map接口里面有一个Collection values()方法,它可以生成Collection。
2、HashMap与TreeMap的原理与HashSet和TreeSet的原理是一样的,只是他们多了映射而已。
3、HashTable是线程安全的,HashMap是非线程安全的;HashTable不能用null作为key与value,HashMap可以用null作为key与value;