Java进阶day32

 

  【Map接口中常用方法的测试】【put】【get】【size】【remove】【containsKey】【containsValue】

     【Map集合的遍历方法】

   【遍历Map集合的另一种方法】【使用 Set<Map.Entry<k,v>> entrySet() 转化为Set集合在遍历】

  【Map集合转化为Set集合示意图】【Node对象】

    【哈希表/散列表数据结构示意图】【哈希表由一维数组和单向列表构成(哈希表是一个一维数组,数组的每一个元素是一个单向链表)】

     【哈希表/散列表数据结构】

 

 

 

   【map.put(k,v) 实现原理】

 

 

  【map.get()方法实现原理】

 

 

   【为什么哈希表的随机增删改查效率高?】【HashCode()】【equals()】

 

 

    【同一单向链表上的所有节点的hash相同,因为数组下标相同】【同一链表上的k和k不同,equals返回的肯定是false】

   【散列分布不均匀】

  【散列分布均匀需要重写hashcode()和equals()方法】

    【HashMap集合key部分的元素特点:无序不可重复】

    【HashMap集合的默认初始化容量是16(必须是2的倍数)】【默认影响因子0.75】

   【hashcode()和equals()的重写】 【半自动生成】

 

   【hashcode()和equals()的重写自动生成时注意】【只第一个这种界面勾选,next后面的暂时不关心】

 

   【哈希表的单向链表元素超过8个后,单向列表会变成红黑树数据结构】

   【当红黑树节点数量小于6时,会重新把红黑树变成单向链表数据结构】

 

 

 

 

-------整理自B站动力节点

 

posted @ 2020-11-03 22:17  18751612782  阅读(60)  评论(0)    收藏  举报