zoukankan      html  css  js  c++  java
  • HashMap,HashTable,HashSet区别

    HashMap与HashSet区别:
    1>实现的接口不同,hashmap实现Map接口,HashSet实现set接口
    2>存放的形式不同,HashMap中存放的是键值对,HashSet中存放的是对象。
    3>添加元素时的方法不同,HashMap:put(),,HashSet:add()
    4>求索引时用到key.hashcode(),value.hashcode(),HashSet只用了成员对象的hashcode
    相同点:都不允许有重复的值
    HashSet存储在底层使用key不为空,value为空的HashMap来存储的。

    HashMap与HashTable区别:
    1>实现的类不同,如下图
    2>HashTable使用sychronized同步锁实现线程安全的,HashMap不能保证。
    3>判断某个值在其key或value中
    HashMap:ContainsValue()/ContainsKey()
    HashTable:contains();
    4> HashMap中1个key可为null,多个值可为null
    HashMap中key/value不等于null
    HashMap get(“value”)==null时,不能断言,key为null还是非null
    5>扩容:HashMap:2*old HashTable:2*old+1

  • 相关阅读:
    方法参数的传递方式
    方法设计
    接口
    SQL 安装MySQL
    Windows 10 安装 wordpress
    Windows10安装PHP7+Apache 2.4
    做一个增删改查的工程
    清除缓存
    创建POJO
    VI快捷键
  • 原文地址:https://www.cnblogs.com/wangxiaopei/p/8551218.html
Copyright © 2011-2022 走看看