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

  • 相关阅读:
    css3
    js的去重
    mongodb的db.collection is not function
    mongoose的关联查询 :populate
    html/css杂题
    经典的Foo和getName
    AngularJS控制器
    AJAX请求小项目
    AngularJS 依赖注入
    Canvas画布实现自定义时钟效果
  • 原文地址:https://www.cnblogs.com/wangxiaopei/p/8551218.html
Copyright © 2011-2022 走看看