日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java HashMap与Hashtable数据结构和特点+HashSet简述

發布時間:2024/9/27 java 76 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java HashMap与Hashtable数据结构和特点+HashSet简述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java HashMap與Hashtable數據結構和特點+HashSet簡述

1.HashMap

  • HashMap就是基于數組和鏈表的數據結構:JDK1.7使用 數組+單向鏈表;JDK1.8使用 數組+單向鏈表+紅黑樹

  • HashMap有兩個重要的參數:

    一個是負載因子 0.75:表示數組使用率達到75%,并且數組長度大于64,擴容數組

    一個是初始值大小 16:表示數組的長度

    特點:HashMap線程不安全,允許賦值為null, 初始數組長度16 擴容2倍

  • 面試題:描述HashMap數據結構

  • 構成:數組+單向鏈表+紅黑樹
  • 數組存放的過程:根據key的hash值經過經過計算(取余)得出當前元素應該存放在數組中的位置,如果當前位置有值,利用單向鏈表向下延伸
  • 延伸為單項鏈表,因為單向鏈表的查詢效率會隨著元素的增多而大幅度下降,所以在JDK1.8之后中加入了紅黑樹
  • 當單向鏈表的長度超過8 ,并且集合中的元素個數大于64 ,單向鏈表轉換為紅黑樹,如果數中的元素在后續減少到了6個,則繼續轉換為單向鏈表
  • 2.Hashtable

    特點:Hashtable線程安全,不允許賦值為null,數組初始為11 擴容2倍+1 JDK1.0就存在

    其余與HashMap相同

    3.HashSet

    HashSet底層使用的是HashMap :因為HashSet中存儲的元素與HashMap中存儲的鍵(key)值 特點一致

    特點:無序、無下標、不能重復、線程不安全、允許為null

    總結

    以上是生活随笔為你收集整理的Java HashMap与Hashtable数据结构和特点+HashSet简述的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。