Collection
|
|—-List
|…….|—-ArrayList
|…….|—-LinkedList
|…….|—-Vector
|
|—-Set
Set子接口:无序,不允许重复
List子接口:有序,可以有重复元素
ArrayList
ArrayList是一个泛型类,可以存放任意类型的对象。顾名思义,ArrayList是一个数组列表,因此其内部是使用一个数组来存放对象的
优点:查找快(通过索引下标)
缺点:插入删除慢
线程不安全
LinkedList
LinkedList可以看做为一个双向链表,所有的操作都可以认为是一个双向链表的操作
优点:插入删除快(链表的特性)
缺点:查找慢
线程不安全
Vector
线程安全
迭代器:接口Iterator
用于集合的遍历
增强型for循环
增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件)
但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等
Map
|
|—-HashMap
|—-Hashtable
|—-WeakHashMap
HashMap与HashTable有什么区别?
两者都是用key-value方式获取数据, HashMap不是同步的,而Hashtable是同步的!