關鍵區別–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的一個條目。
假設下面的場景來理解HaspMap。如果程序員想在那裡存儲一組學生名和相應的索引號,他可以使用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表示對應於該鍵的值。每個鍵、值對都是樹映射的一個條目。
根據上述程序,創建了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。”