zoukankan      html  css  js  c++  java
  • HashMap 与 HashSet 联系

    HashMap实现 Map接口

    HashSet实现Collection接口

    HashSet底层是HashMap  好的 记住这个就可以了 

    HashSet只存放key, value:   private static final Object PRESENT = new Object(); 一个Object常量对象

    其value值为什么不是null ?

    HashMap里面的remove:   返回删除的键值对的value  如果没有这个键 就返回null

      public V remove(Object key) {
            Node<K,V> e;
            return (e = removeNode(hash(key), key, null, false, true)) == null ?
                null : e.value;
        }

    HashSet里面的remove:   返回boolean 看是否删除成功

        public boolean remove(Object o) {
            return map.remove(o)==PRESENT;
        }

    如果HashSet的value是null   现在去删除一个空值  其结果会返回 true !!!

    所以我们就不能判断是否移除成功

  • 相关阅读:
    SQL server多表联合查询
    Linux at命令
    git用法总结详细
    vue插槽
    vue组件通信
    vue高阶函数
    vue过滤器
    vue侦听器watch
    Vue 计算属性 computed
    Spring事务失效的场景
  • 原文地址:https://www.cnblogs.com/DDiamondd/p/10721970.html
Copyright © 2011-2022 走看看