Map集合同时重写equals()&hashCode()
向Map集合里存放或取出元素时调用方法的本质
-
首先都是先调用hashCode()方法,其次再调用equals()方法(且equals方法不一定会调用,当K为null时,不调用equals()方法)
Map结构详解
Map
HashMap
-
HashMap的初始化容量为16,其容量必须为2的倍数
-
放在Map集合和HashSet中的元素需要同时重写hashCode和hashCode方法;
HashTable
Properties
SortedMap
TreeMap
HashSet和HashMap之间的关系
-
HashSet实际上为(key,null)类型的HashMap
-
存储在Map集合里的元素必须都要重写equals()和hashCode()方法
-
equals()返回值为true,则hashCode()返回值也一定为true;
hashCode()返回值为true,equals()返回值不一定为true;