Collection是集合类的上级接口,和Map的区别是最小存储数据颗粒是单一的,没有key-value这种样式,实现的接口主要有Set 和List
二者的区别主要是Set类似数学中的集合,是不允许数据重复的,而List是数组,允许数据重复。
Set--HashSet,TreeSet
HashSet顾名思义是hash形式存储,无序,而TreeSet是用红黑树存储,是有序的。
List-ArrayList, Vector,Stack,LinkedList
ArrayList和Vector都是数组,但是后者是线程安全的。
Stack继承了Vector,实现了pop和push方法
LinkedList是以链表形式存储。
而Map接口是采用key-value对应的数据结构,实现的的接口有:
Map--HashMap,HashTable ,TreeMap
HashMap和HashTable最大的区别是HashTable是线程安全的,并且不允许null值(包括key和value),相对来说,前者效率稍高;
TreeMap使用了红黑树的数据结构,是准平衡二叉树的样子,他最大的特点是能在O(n)的复杂度内完成数据的插入等操作,而数据也是排好序的。