1. 程式人生 > >JAVA中HashMap相關知識的總結(一)

JAVA中HashMap相關知識的總結(一)

Java中HashMap在jdk1.7和jdk1.8中的區別點:

  1. 在jdk1.7中是用陣列+連結串列形式儲存,1.8採用陣列+連結串列/紅黑樹形式
  2. Jdk1.8中由連結串列轉為紅黑樹是長度大於8,由紅黑樹轉為連結串列是節點數小於6。

          原因:紅黑樹的平均查詢長度是log(n),長度是8時,平均查詢長度是3,連結串列的平均查詢長度是8/4=2,存在轉換的必要;當連結串列的長度小於6,平均查詢長度是小於3,速度與樹效率類似,轉化需要時間等因此不會生成樹。