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。

  • 相关阅读:
    C. Chessboard( Educational Codeforces Round 41 (Rated for Div. 2))
    B. Lecture Sleep( Educational Codeforces Round 41 (Rated for Div. 2))
    51Nod 1256 乘法逆元(扩展欧几里得)
    C
    B
    9.13 web基础知识
    web基础知识
    9.11 web基础知识
    9.10 web基础知识
    web 基础知识
  • 原文地址:https://www.cnblogs.com/myrx/p/13164395.html
Copyright © 2011-2022 走看看