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++; // 将“修改统计数”+1
int 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);
}
}

最新文章

  1. css权威指南学习笔记
  2. sklearn 增量学习 数据量大
  3. 前端之css、JavaScript和DOM
  4. Codeforces Round #212 (Div. 2) D. Fools and Foolproof Roads 并查集+优先队列
  5. Odoo下拉动作列表
  6. zabbix统一脚本监控方式
  7. 【Tomcat源码学习】-2.容器管理
  8. nginx负载均衡(一)
  9. 【Swift】ios开发中巧用 description 打印对象时,打印对象的属性
  10. CF451E Devu and Flowers 数论
  11. How to Pronounce SAY, SAYS, and SAID
  12. drupal smtp could not connect to smtp
  13. C - Ilya And The Tree Codeforces Round #430 (Div. 2)
  14. MyBatis3用户指南
  15. LOJ6342::跳一跳——题解
  16. Android WebView 笔记
  17. [Leetcode] Interger to roman 整数转成罗马数字
  18. barba.js 优化页面跳转用户体验
  19. 全局enter回车键js
  20. Monkey King(左偏树 可并堆)

热门文章

  1. 转!!URL和URI区别
  2. Hbase之Exception
  3. eclipse js卡顿
  4. DirectX中的纹理及其创建
  5. robotframework笔记1
  6. img下出现几像素空白的问题
  7. Same Tree [LeetCode]
  8. 开发完iOS应用,接下去你该做的事
  9. ios基础篇(五)——UITextField的详细使用
  10. [工作需求]linux常用命令以及vim常用命令