zoukankan      html  css  js  c++  java
  • HashMap和HashTable的区别

    ① 继承不同
    public class Hashtable extends Dictionary implements Map
    public class HashMap extends AbstractMap implements Map
    ②HashTable线程同步,HashMap非线程同步。
    ③HashTable不允许<键,值>有空值,HashMap允许<键,值>有空值。
    ④Hashtable的迭代器Enumeration不是fail-fast的。HashMap的迭代器Iterator是fail-fast迭代器,当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。
    ⑤HashTable中hash数组的默认大小是11,增加方式的old*2+1,HashMap中hash数组的默认大小是16,增长方式一定是2的指数倍。
    ⑥哈希值的使用不同,HashTable直接使用对象的hashCode; HashMap重新计算hash值,而且用与代替求模。

    TreeMap能够把它保存的记录根据键排序,默认是按升序排序。

  • 相关阅读:
    什么是云安全
    VMWare vForum 2013看点
    循环和数据的操作命令
    程序交互
    数据类型
    基础变量
    模块和包
    ['hello', 'sb']正则表达式
    os模块
    内置函数
  • 原文地址:https://www.cnblogs.com/xidian2014/p/10462522.html
Copyright © 2011-2022 走看看