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能够把它保存的记录根据键排序,默认是按升序排序。

  • 相关阅读:
    Vue购物车项目
    总结前端面试过程中最容易出现的问题
    Node.js
    浏览器前端优化
    计算机课程
    谈谈对前端的理解
    MySQL
    阿里云Centos+Django+Nginx+uWSGI
    Windows + Apache + WSGI 部署Django
    Django积木块11 —— 缓存
  • 原文地址:https://www.cnblogs.com/xidian2014/p/10462522.html
Copyright © 2011-2022 走看看