1)集合特性:集合在任何时候存储的都是引用,不是对象。
2)集合在JDK的java.util *包下
3)集合一共有两大类,
一类是存储单个元素的形式,其父类为java.util.collection
还有一类是以键值对的方式存储,其超级父类为java.util.map
4)collection下较重要的两个接口是List和Set集合
List集合特点:有序,有下标,可重复
Set集合特点:无序,无下标,不可重复
List主要的三个实现类,ArrayList,LinkedList,Vector。ArrayList和Vector底层的数据结构都是数组,但是Vector是线程安全的,不过,Vector效率低,而且保证线程安全有其他的方法,所以Vector用的比较少。
LinkedList底层是双向链表。
Set主要的两个实现类,HashSet, TreeSet。
HashSet在新建的时候,实际上是新建了一个HashMap,HashMap底层数据结构是Hash表
TreeSet在新建的时候,实际上是新建了一个TreeMap,TreeMap底层数据结构是二叉树。
2.Map集合
1)key和value存储的都是对象的内存地址,也就是引用
2)Map中所有的key都是无序不重复的
3)Map集合的key和Set集合存储元素特点相同,因为Set和存储元素的时候就是把元素存储到了Map集合的key中
Map集合下主要有三个实现类,HashMap,Hashtable ,TreeMap