对于java.util包中几个集合的一些区别
2009-06-03 20:48
323 查看
对于java.util包中几个集合的一些区别,方便大家的使用:
1.对ArrayList:它是以数组的方式存储,所以允许按序号索引元素,但是插入元素要涉及元素的移动,所以索引数据快但是插入数据慢,而且没有实现线程同步,所以安全性较低,还有就是容量的增加是以一半的步调增加。
2.对Vector: 它是以数组的方式存储,所以允许按序号索引元素,但是插入元素要涉及元素的移动,所以索引数据快但是插入数据慢,而且实现线程同步,所以性能相对较低,还有就是容量的增加是以一倍的步调增加。
3.对LinkedList:它是以链表的方式存储,所以按序号索引元素要前后遍历速度较慢,但是插入元素快,而且没有实现线程同步,所以安全性较低,还有就是容量的增加是以一半的步调增加。
4.对Hashtable:线程同步,不允许用空值作为键或是值,包含contains方法
5.对HashMap:线程非同步,允许用空值作为键或是值,包含containsvalue和containskey方法。
List是接口ArrayList,Vector,LinkedList都实现了此接口。
1.对ArrayList:它是以数组的方式存储,所以允许按序号索引元素,但是插入元素要涉及元素的移动,所以索引数据快但是插入数据慢,而且没有实现线程同步,所以安全性较低,还有就是容量的增加是以一半的步调增加。
2.对Vector: 它是以数组的方式存储,所以允许按序号索引元素,但是插入元素要涉及元素的移动,所以索引数据快但是插入数据慢,而且实现线程同步,所以性能相对较低,还有就是容量的增加是以一倍的步调增加。
3.对LinkedList:它是以链表的方式存储,所以按序号索引元素要前后遍历速度较慢,但是插入元素快,而且没有实现线程同步,所以安全性较低,还有就是容量的增加是以一半的步调增加。
4.对Hashtable:线程同步,不允许用空值作为键或是值,包含contains方法
5.对HashMap:线程非同步,允许用空值作为键或是值,包含containsvalue和containskey方法。
List是接口ArrayList,Vector,LinkedList都实现了此接口。
相关文章推荐
- 关于java.awt.list与java.util.list的一些区别
- java.util.ConcurrentModificationException的解决办法 大家应该都知道, 在java中, 在对一些集合迭代的过程中对集合进行一些修改的操作, 比如说add,re
- 对于JAVA集合的一些总结
- 对于java 集合的一些理解
- Java 变量之间的一些区别
- Java.util.date 与 java.sql.date区别和转换
- java集合set map list queue 的区别及使用场景
- Java学习总结9-----java.util中一些实用的工具类
- java.util.Date和java.sql.Date的区别和相互转化
- java.util.Date和java.sql.Date的区别和相互转化
- lib和dll文件的区别和联系(集合了几个博客的内容)
- java.util.Date和java.sql.Date的区别和相互转化
- java5之后创建线程池的几个API 以及区别
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结
- 【Java】奇怪的考试题:128与127对于==(等于号)的不同区别研究!
- java集合常用的几个方法
- Java集合基础 一 几个实现类之间的比较
- java中sql.date和util.date的区别
- java集合map,set,list区别
- 几个JAVA集合中常用的接口学习:Collection、Iterator和Map