zoukankan      html  css  js  c++  java
  • HashMap和HashTable

    1、继承的类不同

      HashMap是继承的AbstractMap类,Hashtable是继承的Dictionary类。

    2、安全性

      HashMap是线程不安全,HashTable是线程安全的。

    3、是否存在contains方法

      HashMap把HashTable的contains方法去掉了,改成了containsValue和containsKey;

      HashTable保留了contains、containsValue和containKey三个方法。

    4、key和value是否运行为空值

      HashMap中key和value是允许为空的,但是key只能设置一个null,但是可以有多个value为null;

      HashTable中不允许key、value为null。

    5、遍历方式不同

      HashMap使用的是Iterator,HashTable使用了Iterator、Enumeration。

    6、数组初始化和扩容方式不同。

      HashMap默认是16,Hashtable不要求底层数组的容量一定要为2的整数次幂,而HashMap则要求一定为2的整数次幂。
          Hashtable扩容时,将容量变为原来的2倍加1,而HashMap扩容时,将容量变为原来的2倍。HashTable在不指定容量的情况下的默认容量为11,

          Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是 old*2+1。

  • 相关阅读:
    css设置兼容的透明样式
    mybatis 使用oracle merge into 语句踩坑实录
    eclipse导入SVN上的Maven多模块项目
    jquery.form插件中动态修改表单数据
    java的几种对象(po,dto,dao等)
    redis面试总结
    前段面试准备
    查询各科成绩最好的学生
    Github访问慢解决办法
    该文件有程序在使用
  • 原文地址:https://www.cnblogs.com/myrx/p/13164395.html
Copyright © 2011-2022 走看看