散列表(hashmap)和樹狀圖(treemap)的區別

在程式設計中,有各種機制來收集資料。集合是儲存資料的一種方法。程式語言,如Java使用集合。它是一個包含類和介面的框架,用於儲存和操作一組資料元素。在普通陣列中,有固定數量的元素要儲存。這是陣列的限制。相反,程式設計師可以使用集合。可以使用集合執行插入、刪除、排序和搜尋等操作。在Java中,對映介面屬於集合。該對映用於表示鍵“值對”中的資料。只有唯一的鍵,每個鍵都有相應的值。HashMap和TreeMap...

關鍵區別–hashmap與treemap

在編程中,有各種機制來收集數據。集合是存儲數據的一種方法。編程語言,如Java使用集合。它是一個包含類和接口的框架,用於存儲和操作一組數據元素。在普通數組中,有固定數量的元素要存儲。這是數組的限制。相反,程序員可以使用集合。可以使用集合執行**、刪除、排序和搜索等操作。在Java中,映射接口屬於集合。該映射用於表示鍵“值對”中的數據。只有唯一的鍵,每個鍵都有相應的值。HashMap和TreeMap是實現映射接口的類。HashMap是一個基於映射的集合類,用於存儲在數據元素中不維護特定順序的鍵和值對。TreeMap是一個基於地圖的集合類,用於存儲保持數據元素升序的鍵和值對。HashMap和TreeMap的關鍵區別在於,HashMap在數據元素中不維護特定的順序,而TreeMap則維護數據元素的升序。

目錄

1. 概述和主要區別
2. 什麼是HashMap
3. 什麼是TreeMap
4. HashMap和TreeMap的相似性
5. 並排比較-表格形式的HashMap與TreeMap
6. 摘要

什麼是散列表(hashmap)?

HashMap是一個實現map接口的類。它擴展了AbstractMap類並實現了Map接口。HashMap包含鍵、值對。每個元素都是唯一的。使用鍵很容易找到HashMap中的元素。聲明HashMap如下所示。

公共類HashMap擴展AbstractMap實現Map、Cloneable、Serializable

K表示鍵,V表示對應於該鍵的值。每個鍵、值對都是HashMap的一個條目。

散列表(hashmap)和樹狀圖(treemap)的區別

圖01:地圖界面

假設下面的場景來理解HaspMap。如果程序員想在那裡存儲一組學生名和相應的索引號,他可以使用HashMap。學生姓名用於查找索引編號。因此,學生姓名是關鍵,而索引編號是值。

散列表(hashmap)和樹狀圖(treemap)的區別

圖02:使用Java的HashMap程序

根據上述程序,創建了一個HashMap對象。然後程序員可以使用該對象添加元素。可以使用put方法**值。為了獲取值,程序員應該使用帶有鍵的get方法。使用時學生列表.get(“150”);它將打印索引的相應名稱,即Ann。如果程序員想得到所有的值,那麼他可以使用地圖。入口打印所有鍵和值。在觀察輸出時,可以看到HashMap並沒有保持特定的順序。它不按**順序打印元素。元素以隨機順序打印。

什麼是樹狀圖(treemap)?

TreeMap是Java中實現Map接口的一個類。與HashMap類似,它也用於存儲鍵、值對,但按升序排列。樹映射實現NavigableMap,NavigableMap擴展SortedMap和SortedMap擴展Map。每個元素都是唯一的。聲明TreeMap如下所示。

公共類樹映射擴展了AbstractMap實現了NavigableMap、Cloneable、Serializable

K表示鍵,V表示對應於該鍵的值。每個鍵、值對都是樹映射的一個條目。

散列表(hashmap)和樹狀圖(treemap)的區別

圖03:使用Java的TreeMap程序

根據上述程序,創建了TreeMap對象。然後程序員可以使用該對象添加元素。可以使用put方法**值。為了獲取值,程序員應該使用帶有鍵的get方法。使用時studentList.get(“150”);它將打印與該索引對應的名稱Ann。如果程序員想得到所有的值,那麼他可以使用地圖條目打印所有關鍵點和值。觀察輸出時,可以看到TreeMap保持特定的順序。元素按升序打印。

散列表(hashmap)和螺旋體(treemap)的共同點

  • HashMap和TreeMap都實現Map接口。
  • HashMap和TreeMap都可以存儲和操作許多元素。
  • HashMap和TreeMap都包含鍵、值對。
  • HashMap和TreeMap都可以有許多空值。
  • HashMap和TreeMap中可以存儲的元素數量沒有限制。

散列表(hashmap)和樹狀圖(treemap)的區別

HashMap與TreeMap
HashMap是一個基於映射的集合類,用於存儲鍵和值對,這些鍵和值對在數據元素中不保持特定的順序。 TreeMap是一個基於映射的集合類,用於存儲保持數據元素升序的鍵和值對。
命令
HashMap不維護順序。 樹形圖保持升序。
空鍵
HashMap可以包含一個空鍵。 樹映射不能有空鍵。
性能
HashMap比TreeMap快。 TreeMap比HashMap慢。

總結 - 散列表(hashmap) vs. 樹狀圖(treemap)

Java等編程語言包含集合框架。在數組中,可以有固定數量的元素。因此,數組大小應該在開始時初始化。在集合中,程序員可以根據需要存儲許多元素。沒有具體的存儲量。映射是屬於集合框架的接口。HashMap是一個基於映射的集合類,用於存儲鍵和值對,這些鍵和值對在數據元素中不保持特定的順序。TreeMap是一個基於映射的集合類,用於存儲保持數據元素升序的鍵和值對。本文討論了HashMap與實現Map接口的TreeMap之間的區別。HashMap和TreeMap的區別在於HashMap不維護數據元素的特定順序,而TreeMap維護數據元素的升序。

引用

1.“Java中的HashMap–javatpoint.”要點,可在此處獲得2.“Java中的TreeMap–javatpoint。”Point,可在此處獲得
2.“Java中的TreeMap–javatpoint。”

  • 發表於 2020-10-02 05:06
  • 閱讀 ( 41 )
  • 分類:科技

你可能感興趣的文章

樹木年代學(dendrochronology)和樹木氣候學(dendroclimatology)的區別

樹輪年代學和樹木氣候學的關鍵區別在於,樹輪年輪學是研究樹木的年生長年輪,而樹輪氣候學是研究樹木年輪與過去氣候條件或變化之間的關係 樹木呈年輪狀生長。這些年輪顯示了與氣候因素的關係。因此,它們對於重建...

  • 發佈於 2020-09-28 07:58
  • 閲讀 ( 46 )

分支圖(cladogram)和二分鍵(dichotomous key)的區別

...確切距離。 圖01:分支圖 基本上,分支圖是用線繪製的樹狀圖。分支圖的節點代表著同一祖先的兩個群的分裂。分支在行的末尾被總結,並且一個特定的分支的成員具有相似的特徵。它們是利用分子差異而不是形態特徵來構建...

  • 發佈於 2020-09-30 06:50
  • 閲讀 ( 58 )

分支圖(cladogram)和系統發育樹(phylogenetic tree)的區別

...化時間和與共同祖先的確切距離。 枝形圖是用線繪製的樹狀圖。分支圖的節點代表著同一祖先的兩個群的分裂。分支線上的末端被總結,並且一個特定的分支的成員具有相似的特徵。利用分子差異而不是形態特徵來構建分支。...

  • 發佈於 2020-10-09 20:25
  • 閲讀 ( 42 )

upgma公司(upgma)和鄰接連線樹(neighbor joining tree)的區別

...線樹是構建無根系統發生樹的技術。 系統發育樹是一種樹狀圖,顯示了生物體之間的進化關係。一個系統進化樹可以有不同的拓撲結構,這取決於構建樹的技術。UPGMA和鄰域連線樹是構建系統進化樹的兩種主要方法。 目錄 1. 概...

  • 發佈於 2020-10-15 16:37
  • 閲讀 ( 82 )

樹(tree)和資料結構中的圖形(graph in data structure)的區別

...圖,但不能將每一個圖視為一棵樹。 •自迴圈和電路在樹狀圖中不可用。 •在設計樹時,需要父節點和各種子節點。設計圖形時,需要頂點和邊。邊是一對頂點。 以上討論得出結論:樹和圖是解決各種複雜問題的最常用的資料...

  • 發佈於 2020-10-21 10:25
  • 閲讀 ( 47 )

莖(stem)和樹幹(trunk)的區別

...的主要結構軸,而樹幹通常是指樹木的主要結構軸。 莖和樹幹是兩個植物學上的名字,有時用在類似的意義上。嚴格地說,樹幹和樹幹是有區別的。植物學或植物生物學和植物生物技術專家說,樹幹不僅是樹幹,而且是樹的主...

  • 發佈於 2020-10-22 09:00
  • 閲讀 ( 62 )

樹集(treeset)和樹狀圖(treemap)的區別

樹集(treeset)和樹狀圖(treemap)的區別 陣列用於儲存一組相同型別的資料元素。大多數程式語言都支援陣列。即使一個數組可以儲存多個值,它也有一個主要的缺點。陣列一旦建立,就不可能更改它。如果程式設計師聲明瞭一個...

  • 發佈於 2020-10-24 02:47
  • 閲讀 ( 40 )

紮根的(rooted)和無根系統發育樹(unrooted phylogenetic tree)的區別

...圖、分支圖、物候圖、系統圖等。系統發育樹是一種分枝樹狀圖,它用進化距離來解釋生物之間的系統發育關係。有兩種主要型別的系統發生樹被稱為有根和無根。有根系統發育樹與無根系統發育樹的主要區別在於,有根樹顯示...

  • 發佈於 2020-10-25 22:32
  • 閲讀 ( 50 )

條形圖(bar graph)和柱狀圖(column graph)的區別

條形圖與柱狀圖 圖形是表示資料摘要的圖形方式。大資料集中包含的屬性可以透過使用圖形很容易地識別和檢測。基於資料型別和表示方法,開發了多種型別的圖形。許多在19世紀初和20世紀開始流行,與文明的技術進步相平...

  • 發佈於 2020-11-02 16:58
  • 閲讀 ( 48 )

你忽略了3個驚人的技巧

...區中搜索的時間,甚至還可以儲存你以前搜尋過的任務的列表。你可以在緞帶上面找到那個盒子。只需輸入查詢即可找到結果。 ...

  • 發佈於 2021-03-13 03:29
  • 閲讀 ( 45 )
rimp112944
rimp112944

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章