Map集合同时重写equals()&hashCode()

向Map集合里存放或取出元素时调用方法的本质

  1. 首先都是先调用hashCode()方法,其次再调用equals()方法(且equals方法不一定会调用,当K为null时,不调用equals()方法)

image-20210413153720819

 

 

Map结构详解

Map

HashMap

  1. HashMap的初始化容量为16,其容量必须为2的倍数

  • 放在Map集合和HashSet中的元素需要同时重写hashCode和hashCode方法;

HashTable

Properties

 

SortedMap

TreeMap

HashSet和HashMap之间的关系

  1. HashSet实际上为(key,null)类型的HashMap

  2. 存储在Map集合里的元素必须都要重写equals()和hashCode()方法

  3. equals()返回值为true,则hashCode()返回值也一定为true;

    hashCode()返回值为true,equals()返回值不一定为true;

posted @ 2021-04-13 16:56  安妍  阅读(245)  评论(0编辑  收藏  举报