hashmap和hashtable,arraylist和vector的区别
hashmap线程不安全,hashtable线程安全
hashmap允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
hashtable任何非 null
对象都可以用作键或值。为了成功地在哈希表中存储和获取对象,用作键的对象必须实现 hashCode
方法和 equals
方法。
arraylist线程不安全,vector线程安全
arraylist和vector的初始大小都是10.
vector:向量的大小大于其容量时,容量自动增加的量。如果容量的增量小于等于零,则每次需要增大容量时,向量的容量将增大一倍。
Arraylist默认扩充1.5倍。
JDK1.6中的源码:
// 确定ArrarList的容量。 // 若ArrayList的容量不足以容纳当前的全部元素,设置 新的容量=“(原始容量x3)/2 + 1”public void ensureCapacity(int minCapacity) {modCount++; // 将“修改统计数”+1int oldCapacity = elementData.length;if (minCapacity > oldCapacity) {Object oldData[] = elementData;int newCapacity = (oldCapacity * 3)/2 + 1;if (newCapacity < minCapacity)newCapacity = minCapacity;elementData = Arrays.copyOf(elementData, newCapacity);}}
hashmap和hashtable,arraylist和vector的区别相关推荐
- ArrayList和Vector的区别
这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素, ...
- HashMap、HashTable、ConcurrentHashMap、HashSet区别 线程安全类
HashMap专题:HashMap的实现原理--链表散列 HashTable专题:Hashtable数据存储结构-遍历规则,Hash类型的复杂度为啥都是O(1)-源码分析 Hash,Tree数据结构时 ...
- 【Java集合之Map】HashMap、HashTable、TreeMap、LinkedHashMap区别
Java为数据结构中的映射定义了一个接口java.util.Map,它有四个实现类,分别是HashMap.HashTable.LinkedHashMap和TreeMap.本节实例主要介绍这4中实例的用 ...
- ArrayList 和 Vector 的区别
ArrayList 和 Vector 的区别是什么? Vector 的方法都是同步的,线程安全:ArrayList 非线程安全,但性能比Vector好 默认初始化容量都是10,Vector 扩容默认会 ...
- JDK1.8中的HashMap,HashTable,ConcurrentHashMap有什么区别?
HashMap是线程不安全的,底层采用数组+链表+红黑树的结构 HashTable是线程安全的,因为使用了Synchronized锁住了整个table,底层采用了数组+链表 ConcurrentHas ...
- 一分钟了解ArrayList和Vector的区别
一.是否是线程安全的 Vector是同步的, 而ArrayList不是. 因为Vector是同步的, 所以它是线程安全的. 同样, 因为Vecotr是同步的, 所以他需要额外的开销来维持同步锁, 所以 ...
- Java中ArrayList和Vector的区别
首先想说的是: Vector是在Collections API之前就已经产生了的, 而ArrayList是在JDK1.2的时候才作为Collection framework的一部分引入的. 它们都是在 ...
- ArrayList与LinkedList、Vector的区别 HashMap与HashTable、HashSet的区别
一.ArrayList 和 LinkedList区别: (1)两者都是线程不安全,都实现了Collection接口. (2)数据结构:ArrayList是基于动态数组的数据结构,LinkedList是 ...
- Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别...
ArrayList和Vector的区别 ArrayList与Vector主要从二方面来说. 一.同步性: Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的. ...
- Java中的HashMap和Hashtable有什么区别?
Java中的aHashMap和a有什么区别Hashtable? Java中的aHashMap和a有什么区别Hashtable? Java中的aHashMap和a有什么区别Hashtable? Java ...
最新文章
- c++ sort 从大到小排序_C语言必学的12个排序算法:冒泡排序(第4篇)
- SQL中LIKE的妙用
- flutter 页面加载动画_Flutter撸一个加载动画
- C#隐藏桌面图标和任务栏
- [转载]UEditor报错TypeError: me.body is undefined
- mysql 添加ios表情符号_mysql - 如何用PHP匹配并替换iOS标准的emoji表情符号
- Flex4.5中检测网络连接类型
- 像人类一样理解言外之意,阿里AI最新研究成果被国际顶会收录
- Windows 下安装 swoole 具体步骤(转)
- 21-nginx单机1W并发优化
- 数学建模Latex简易模板
- 统计分析之参数检验与非参数检验、匹配样本与独立样本、2样本与K样本介绍----附SPSS操作指南
- 在web页面实时播放监控视频
- 14年macmini装双硬盘_苹果2014款Mac mini更换固态硬盘图文教程
- Python简单浪漫表白代码鲜花
- 什么是晶圆CMP的ILD?
- 惠花生活v7.5.2
- 【程序源代码】微信小程序商城-最新源码
- Idea中git进行回滚版本操作和查看修改记录
- 通过Python对的大理石接触分析