• 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 !!!

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

  • 相关阅读:
    Hadoop IO
    HDFS
    简介
    队列
    classLoader和Class.forName的区别
    String为什么是final类型的
    Fabric
    超级账本——面向企业的分布式账本
    以太坊
    pycharm破解教程
  • 原文地址:https://www.cnblogs.com/DDiamondd/p/10721970.html
Copyright © 2020-2023  润新知