Java集合类
2016-07-19 15:44
323 查看
Collection
|
|—-List
|…….|—-ArrayList
|…….|—-LinkedList
|…….|—-Vector
|
|—-Set
Set子接口:无序,不允许重复
List子接口:有序,可以有重复元素
优点:查找快(通过索引下标)
缺点:插入删除慢
线程不安全
优点:插入删除快(链表的特性)
缺点:查找慢
线程不安全
用于集合的遍历
但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等
Map
|
|—-HashMap
|—-Hashtable
|—-WeakHashMap
HashMap与HashTable有什么区别?
两者都是用key-value方式获取数据, HashMap不是同步的,而Hashtable是同步的!
|
|—-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是同步的!
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树