Java集合类

Collection
|
|—-List
|…….|—-ArrayList
|…….|—-LinkedList
|…….|—-Vector
|
|—-Set

Set子接口:无序,不允许重复
List子接口:有序,可以有重复元素

ArrayList

ArrayList是一个泛型类,可以存放任意类型的对象。顾名思义,ArrayList是一个数组列表,因此其内部是使用一个数组来存放对象的
优点:查找快(通过索引下标)
缺点:插入删除慢
线程不安全

LinkedList

LinkedList可以看做为一个双向链表,所有的操作都可以认为是一个双向链表的操作
优点:插入删除快(链表的特性)
缺点:查找慢
线程不安全

Vector

线程安全

迭代器:接口Iterator

Java集合类_第1张图片
用于集合的遍历

增强型for循环

增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件)
但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等


Map
|
|—-HashMap
|—-Hashtable
|—-WeakHashMap

HashMap与HashTable有什么区别?
两者都是用key-value方式获取数据, HashMap不是同步的,而Hashtable是同步的!

你可能感兴趣的:(Java基础知识)