zoukankan      html  css  js  c++  java
  • 数据结构

    1.哈希表:若关键字为k,则其值存放在f(k)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数,按这个思想建立的表为散列表,也叫哈希表;

               HashMap:底层是哈希表是一个数组 ,每个数组的位置上对应一个链表,是数组和链表的结合;http://www.importnew.com/16301.html;

        1):HashMap实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。线程不安全的;

        2):String 作为key 会导致  hash值重复概率增加。

    2.hashtable:Hashtable 的函数都是同步的,这意味着它是线程安全的。它的key、value都不可以为null。

          1)集成Dictionary字典类;

    3.Hashtable和HashMap到底有哪些不同呢

    (1)基类不同:HashTable基于Dictionary类,而HashMap是基于AbstractMap。Dictionary是什么?它是任何可将键映射到相应值的类的抽象父类,而AbstractMap是基于Map接口的骨干实现,它以最大限度地减少实现此接口所需的工作。

    (2)null不同:HashMap可以允许存在一个为null的key和任意个为null的value,但是HashTable中的key和value都不允许为null。

    (3)线程安全:HashMap时单线程安全的,Hashtable是多线程安全的。

    (4)遍历不同:HashMap仅支持Iterator的遍历方式,Hashtable支持Iterator和Enumeration两种遍历方式。

        

  • 相关阅读:
    java虚拟机之类加载机制
    java虚拟机之垃圾收集器
    java虚拟机之内存模型
    java基础之NIO
    java基础之字符串
    Integer.valueOf源码分析
    将博客搬至CSDN
    url中向后台传递参数中文乱码
    Layui主窗口和Iframe层参数传递
    百度地图Api 加载海量点
  • 原文地址:https://www.cnblogs.com/xxwn/p/8545260.html
Copyright © 2011-2022 走看看