Map

更新於 發佈於 閱讀時間約 1 分鐘
Map是由Key-Value所組成的
而Key的部分不能重複,因為是Set
  1. HashMap:
    • 使用哈希表存儲鍵值對
    • 平均情況下,基本操作(獲取、插入、刪除)具有常數時間複雜度
    • 不保證項目的特定順序
    • 允許鍵和值為空( 空字串、null)
    • 非線程安全
  2. LinkedHashMap:
    • 保持項目插入的順序
    • 使用哈希表和鏈表實現有序遍歷
    • 提供類似 HashMap 的性能,但稍微慢一些,因為需要維護順序
    • 允許鍵和值為空( 空字串、null)
    • 非線程安全
  3. TreeMap:
    • 根據鍵的自然順序或自定義 Comparator 進行排序
    • 使用紅黑樹結構維護項目
    • 基本操作(獲取、插入、刪除)具有對數時間複雜度
    • 提供有序遍歷
    • 不允許鍵為空,但允許值為空 (因為要以鍵做排序)
    • 非線程安全
  4. ConcurrentHashMap:
    • 提供線程安全的操作,支持併發訪問
    • 將底層數據結構分為多個段,允許對不同段進行並發操作
    • 適用於高並發場景,具有良好的擴展性
    • 對於非並發訪問,性能與 HashMap 相似
    • 允許鍵和值為空( 空字串、null)
簡單來講,併發就是多個執行緒在同個時間內不斷切換、互相搶資源地在處理任務。是在瞬間、極短的時間內!
  1. Hashtable:
    • ConcurrentHashMap 出現後被標記為過時 (deprecated)
    • 提供線程安全的操作,支持併發訪問
    • 提供類似 HashMap 的功能,但具有同步方法
    • 不允許鍵和值為空
  2. WeakHashMap (我完全沒用到過):
    • 允許鍵在不再有強引用時被垃圾回收
    • 適用於動態創建鍵並在內存壓力下釋放的情況
    • 提供類似 HashMap 的功能,但具有弱鍵
    • 非線程安全


留言
avatar-img
留言分享你的想法!
avatar-img
Genos's Coding Diary的沙龍
6會員
19內容數
我的Java學習日記
2023/10/03
為何要重寫equals方法? 為何要重寫hashCode方法?
2023/10/03
為何要重寫equals方法? 為何要重寫hashCode方法?
2023/09/27
兩種方式進行物件比較,使用Comparator或使用Comparable
2023/09/27
兩種方式進行物件比較,使用Comparator或使用Comparable
2023/09/27
併發,多個事情在同一時間段內同時發生 並行,多個事情在同一個時間點上同時發生
2023/09/27
併發,多個事情在同一時間段內同時發生 並行,多個事情在同一個時間點上同時發生
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
Map 集合特性: 採 key、value 方式存放,key 唯一不能重覆。
Thumbnail
Map 集合特性: 採 key、value 方式存放,key 唯一不能重覆。
Thumbnail
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
Thumbnail
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
Thumbnail
題目會給定一組已經規定好的介面interface,要求我們實作HashSet這種資料結構。也就是一般數學和程式語言中所說的"集合"。
Thumbnail
題目會給定一組已經規定好的介面interface,要求我們實作HashSet這種資料結構。也就是一般數學和程式語言中所說的"集合"。
Thumbnail
👨‍💻簡介 在 Go 語言中,有著一個強大又便捷的工具,可以讓你以鍵-值(Key-Value)的形式儲存和查詢資料,它就是「Map」。Map 在 Go 語言中扮演了重要的角色,簡化了許多資料處理的任務,現在讓我們一起來深入了解這個有趣的資料型別。 Map的基本概念 Map 是 Go 語
Thumbnail
👨‍💻簡介 在 Go 語言中,有著一個強大又便捷的工具,可以讓你以鍵-值(Key-Value)的形式儲存和查詢資料,它就是「Map」。Map 在 Go 語言中扮演了重要的角色,簡化了許多資料處理的任務,現在讓我們一起來深入了解這個有趣的資料型別。 Map的基本概念 Map 是 Go 語
Thumbnail
Mapping(映射)就像是字典表一樣,鍵入「什麼樣的標題」對應到「什麼樣的內容」,而標題就是從內容提煉出來的一種簡短快速識別的標的,透過這種方式,我們未來找尋內文時,只要先透過標題來查找,絕對會比直接找內文快上好幾倍,因此Mapping常常應用在查找事物上,它有點像一般程式語言的HashTable
Thumbnail
Mapping(映射)就像是字典表一樣,鍵入「什麼樣的標題」對應到「什麼樣的內容」,而標題就是從內容提煉出來的一種簡短快速識別的標的,透過這種方式,我們未來找尋內文時,只要先透過標題來查找,絕對會比直接找內文快上好幾倍,因此Mapping常常應用在查找事物上,它有點像一般程式語言的HashTable
Thumbnail
哈希圖共識在區塊鏈中的作用是確定分佈式賬本中的交易順序和確認交易的有效性[1]。​區塊鏈是一種去中心化的分佈式賬本,​需要一種共識機制來確定交易的有效性和順序,​以維護系統的運作順序和公平性[1]。​哈希圖共識是一種新興的共識機制,​可以實現高效、​安全、​公平和快速的交易[2]。​區塊鏈技術可以幫
Thumbnail
哈希圖共識在區塊鏈中的作用是確定分佈式賬本中的交易順序和確認交易的有效性[1]。​區塊鏈是一種去中心化的分佈式賬本,​需要一種共識機制來確定交易的有效性和順序,​以維護系統的運作順序和公平性[1]。​哈希圖共識是一種新興的共識機制,​可以實現高效、​安全、​公平和快速的交易[2]。​區塊鏈技術可以幫
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News