zoukankan      html  css  js  c++  java
  • Map接口下方的集合及特性

    HashCode()方法需要重写,那么在重写时返回一个固定值,可以吗?会出现什么问题?(节点一直往一个单向链表上面添加,那就失去了hashmap的优势所在了)答案如下

     

     

     

     为什么哈希表的随机增删,以及查询效率都很高?

    增删都是在链表上面完成的

    查询也只需要部分扫描(但是,要知道的,hashmap的查询没有ArrayList快,增删也不如双向链表。他就是一个两者之间的一个中间体)

    为什么在我们实际开发中总是需要重写HashCode();方法呢?

    原理类似于equals的方法重写,因为每个数据也都是有他的哈希值,如果我们没有对它进行重写,

    那么比较的就是他们的哈希值,所以他肯定是会返回false,想要比较两个元素的值,我们就需要

    对这个HashCode方法进行重写,并且我们看到equals方法和HashCode方法常常是一起重新写的

    否则:

     

    HashMap中的key值可以为空吗?如下可以

    HashTable特性:

    HashTable是key和value不可以为空--->会报空指针异常

  • 相关阅读:
    快速排序及其优化
    JVM基础:深入学习JVM堆与JVM栈(转)
    java 反射简介(转载)
    java 泛型简介(转载)
    Java 注解简介
    JVM入门必看——JVM结构
    Java多线程详解(转载)
    SpringMVC 实现文件的上传与下载
    死锁简介
    SQL的模糊查询(转载)
  • 原文地址:https://www.cnblogs.com/LWF6869/p/12454974.html
Copyright © 2011-2022 走看看