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

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

1.HashMap

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

  2. HashMap有兩個重要的參數:

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

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

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

面試題:描述HashMap數據結構

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

2.Hashtable

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

其余與HashMap相同

3.HashSet

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

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529263.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529263.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529263.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

aj6 stamps storm_親友限定的 AJ 6 要發了?3 月好鞋發售清單 for girls

原標題:親友限定的 AJ 6 要發了?3 月好鞋發售清單 for girls🌸🌸🌸Air Jordan 1 Low Slip “Chicago”Color:Varsity Red/Black/WhiteStyle Code:BQ8462-601Price:$110adidas WMNS U…

學校為什么要單位接收函_學校、小區運動場為什么要選擇塑膠跑道

隨著人們生活水平的不斷提高,科技的日新月異,各行各業都向著更加健康環保安全舒適的方向邁進。就拿小區、學校的運動場所地坪為例,傳統的“沙土跑道”已經被運動塑膠跑道所替代。那么運動場為什么會選擇塑膠跑道呢? 塑膠跑道又稱全…

java中常見的專業術語單詞縮寫,看你認識幾個

java中常見的專業術語單詞縮寫,看你認識幾個 單詞全稱單詞縮寫中文意思備注Garbage CollectionGC垃圾回收Object Oriented ProgrammingOOP面向對象程序設計Document Object ModelDOM文檔對象模型Browser Object ModelBOM游覽器對象模型uniform resource locatorurl…

pitstop插件使用說明_【學員分享】程序員效率神器,最常用VIM插件安裝大全

相信大家多次被推薦用vim作為編輯程序,知道vim編輯有很多優點,但是vim初始界面太原始了,安裝了之后只能用來編輯,如果要運行就需要退出去運行,麻煩死了。回想用現成的IDE是多么的舒服。但是為了更好的學習,…

JVM思維導圖、正則表達式符號圖、企業內部開發流程圖

JVM思維導圖、正則表達式符號圖、企業內部開發流程圖 1.JVM思維導圖: 2.正則表達式符號圖: 3.企業內部開發流程圖:

蕭縣機器人_全國總決賽第一名!蕭縣楊樓的這位學生厲害了

 提示:點擊上方"蕭縣關注"↑免費訂閱本刊點擊上方關注我們,免費訂閱更多精彩內容&…

關于JSP頁面無法加載css,游覽器訪問jsp頁面樣式未生效導致亂序

關于JSP頁面無法加載css,游覽器訪問jsp頁面樣式未生效導致亂序 1.修改自己過濾器中對編碼格式的修改 如圖: 代碼如下: public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOE…

將視圖轉為image_JavaScript二進制數組(2)TypedArray視圖

ArrayBuffer對象作為內存區域可以存放多種類型的數據。同一段內存,不同數據有不同的解讀方式,這種解讀方式稱為“視圖(view)”。ArrayBuffer有兩種類型的視圖,一種是類型化數組視圖(TypedArray)…

八大基本數據類型、數組和包裝類默認值

八大基本數據類型、數組和包裝類默認值 1.八大基本數據類型 Java八種基本數據類型總結序號數據類型大小/字節封裝類默認值可表示數據范圍1byte1Byte0-128~1272short2Short0-32768~327673int4Integer0-2147483648~21474836474long8Long0-9223372036854775808~9223372036854775…

解決IDEA中maven工程的jsp、jstl依賴導入了 ,但是 jsp頁面的uri卻不提示(手動輸上也報紅)

解決IDEA中maven工程的jsp、jstl依賴導入了 ,但是 jsp頁面的uri卻不提示(手動輸上也報紅) 出現原因:idea內有緩存 解決辦法:File --> Invalidate Caches / Restart… --> lnvalidate and Restart idea版本&#…

空格 過濾多個_CAD選擇過濾器的運算符如何使用?

選擇過濾器FILTER在CAD早期版本中是擴展工具的一個功能,到了高版本變成標配的功能,但在浩辰CAD的菜單或工具面板中我還找到選擇過濾器的命令。浩辰CAD面板、右鍵菜單和特性面板倒是都提供了快速選擇的功能,快速選擇功能應該是借鑒選擇過濾器開…

Java中各種常見的生命周期

Java中各種常見的生命周期 1.Spring bean的生命周期? ? 1、Spring 容器根據配置中的 bean 定義中實例化 bean。 ? 2、Spring 使用依賴注入填充所有屬性,如 bean 中所定義的配置。 ? 3、如果 bean 實現 BeanNameAware 接口,則工廠通過傳…

各層作用_終于弄明白了 Singleton,Transient,Scoped 的作用域是如何實現的

一:背景1. 講故事前幾天有位朋友讓我有時間分析一下 aspnetcore 中為什么向 ServiceCollection 中注入的 Class 可以做到 Singleton,Transient,Scoped,挺有意思,這篇就來聊一聊這一話題,自從 core 中有了 S…

權限管理系統_在Gitee狂攬11K Star!這個SpringCloud的權限管理系統你必須知道

SpringCloud 大家都很熟悉了,它作為一套完整的微服務解決方案,廣受 Java 開發者們的好評, 今天就為大家介紹一款 Gitee 上的王牌項目,基于 SpringCloud 的權限管理系統——Pig。項目名稱:Pig項目作者:pig4c…

導出排除的表_excel拆分實例:如何快速制作考勤統計分析表

編按:面對新的統計需求,很多人會一下變懵,不知如何辦。如果涉及的統計有一千多行數據,哭的心思都有了:什么時候才能下班喲!今天老菜鳥通過考勤統計分析表實例分享自己面對新統計需求的解決方法:…

rds 如何學習數據庫_如何將本地數據庫遷移到云數據庫 RDS 上?

使用數據傳輸服務 ( DTS ) 將本地數據庫遷移到 阿里云的云數據庫 RDS ,可以實現應用不停服務的情況下,平滑完成數據庫的遷移工作。接下來我們將學習下如何使用 DTS 將本地數據庫遷移到 RDS 上。背景DTS 支持 SQL Server 數據結構遷移和全量遷移。DTS 支持…

arm ida 偽代碼 安卓 符號表_IDA 制作 sig文件 gdb 導入符號表

背景最近比賽遇到了一個題目, 32位靜態鏈接去符號了. 所以用IDA分析的時候很多libc的庫函數都無法識別, 就需要在 IDA 中引入 sig 文件. 從而可以識別諸如 read, write, malloc, free 這些庫函數. 雖然網上已經有很多制作好的sig文件, 但是還是應該學會自己制作sig文件以備不時…

lua如何打印行號_LUA教程錯誤信息和回跟蹤(Tracebacks)-34

雖然你可以使用任何類型的值作為錯誤信息,通常情況下,我們使用字符串來描述遇到的錯誤。如果遇到內部錯誤(比如對一個非table的值使用索引下標訪問)Lua將自己產生錯誤信息,否則Lua使用傳遞給error函數的參數作為錯誤信息。不管在什么情況下&a…

python 套接字 struck_Python socket粘包問題(最終解決辦法)

套接字:就是將傳輸層以下的協議封裝成子接口對于應用程序來說只需調用套接字的接口,寫出的程序自然是遵循tcp或udp協議的實現第一個功能個:實現:通過客戶端向服務端發送命令,調取windows下面的cmd窗口,將服…

python的lib文件夾_python遍歷文件夾os.path與pathlib

首先我們來一個需求,這個函數接受文件夾的名稱作為輸入參數,返回該文件夾中文件的路徑,以及其包含文件夾中文件的路徑。def print_dir_contents(sPath):import osfor sChild in os.listdir(sPath):sChildPath os.path.join(sPath,sChild)if …