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的区别相关推荐

  1. ArrayList和Vector的区别

    这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素, ...

  2. HashMap、HashTable、ConcurrentHashMap、HashSet区别 线程安全类

    HashMap专题:HashMap的实现原理--链表散列 HashTable专题:Hashtable数据存储结构-遍历规则,Hash类型的复杂度为啥都是O(1)-源码分析 Hash,Tree数据结构时 ...

  3. 【Java集合之Map】HashMap、HashTable、TreeMap、LinkedHashMap区别

    Java为数据结构中的映射定义了一个接口java.util.Map,它有四个实现类,分别是HashMap.HashTable.LinkedHashMap和TreeMap.本节实例主要介绍这4中实例的用 ...

  4. ArrayList 和 Vector 的区别

    ArrayList 和 Vector 的区别是什么? Vector 的方法都是同步的,线程安全:ArrayList 非线程安全,但性能比Vector好 默认初始化容量都是10,Vector 扩容默认会 ...

  5. JDK1.8中的HashMap,HashTable,ConcurrentHashMap有什么区别?

    HashMap是线程不安全的,底层采用数组+链表+红黑树的结构 HashTable是线程安全的,因为使用了Synchronized锁住了整个table,底层采用了数组+链表 ConcurrentHas ...

  6. 一分钟了解ArrayList和Vector的区别

    一.是否是线程安全的 Vector是同步的, 而ArrayList不是. 因为Vector是同步的, 所以它是线程安全的. 同样, 因为Vecotr是同步的, 所以他需要额外的开销来维持同步锁, 所以 ...

  7. Java中ArrayList和Vector的区别

    首先想说的是: Vector是在Collections API之前就已经产生了的, 而ArrayList是在JDK1.2的时候才作为Collection framework的一部分引入的. 它们都是在 ...

  8. ArrayList与LinkedList、Vector的区别 HashMap与HashTable、HashSet的区别

    一.ArrayList 和 LinkedList区别: (1)两者都是线程不安全,都实现了Collection接口. (2)数据结构:ArrayList是基于动态数组的数据结构,LinkedList是 ...

  9. Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别...

    ArrayList和Vector的区别 ArrayList与Vector主要从二方面来说. 一.同步性: Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的. ...

  10. Java中的HashMap和Hashtable有什么区别?

    Java中的aHashMap和a有什么区别Hashtable? Java中的aHashMap和a有什么区别Hashtable? Java中的aHashMap和a有什么区别Hashtable? Java ...

最新文章

  1. c++ sort 从大到小排序_C语言必学的12个排序算法:冒泡排序(第4篇)
  2. SQL中LIKE的妙用
  3. flutter 页面加载动画_Flutter撸一个加载动画
  4. C#隐藏桌面图标和任务栏
  5. [转载]UEditor报错TypeError: me.body is undefined
  6. mysql 添加ios表情符号_mysql - 如何用PHP匹配并替换iOS标准的emoji表情符号
  7. Flex4.5中检测网络连接类型
  8. 像人类一样理解言外之意,阿里AI最新研究成果被国际顶会收录
  9. Windows 下安装 swoole 具体步骤(转)
  10. 21-nginx单机1W并发优化
  11. 数学建模Latex简易模板
  12. 统计分析之参数检验与非参数检验、匹配样本与独立样本、2样本与K样本介绍----附SPSS操作指南
  13. 在web页面实时播放监控视频
  14. 14年macmini装双硬盘_苹果2014款Mac mini更换固态硬盘图文教程
  15. Python简单浪漫表白代码鲜花
  16. 什么是晶圆CMP的ILD?
  17. 惠花生活v7.5.2
  18. 【程序源代码】微信小程序商城-最新源码
  19. Idea中git进行回滚版本操作和查看修改记录
  20. 通过Python对的大理石接触分析

热门文章

  1. SQL 查询CET使用领悟
  2. 强烈推荐深入浅出jBPM
  3. 独门绝技:一招克死所有病毒(转贴,没有用过)
  4. 查询Mysql的数据架构信息研究
  5. Centos 解压软件
  6. Python3:递归实现输出目录下所有的文件
  7. 深入理解HTTP协议—HTTP协议详解(真的很经典)
  8. fir.im Weekly - 聊聊 Google 开发者大会
  9. 与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。
  10. 学习笔记——RuntimeException