面試==和equals的區(qū)別 java中需要排序的數(shù)據(jù),為什么都是用hashmap,而不是直接用sortmap?
java中需要排序的數(shù)據(jù),為什么都是用hashmap,而不是直接用sortmap?不同的應(yīng)用場(chǎng)景[treemap繼承自SortedMap]它用于保持鍵的順序,還包含許多排序方法。HashMap是無(wú)序的
java中需要排序的數(shù)據(jù),為什么都是用hashmap,而不是直接用sortmap?
不同的應(yīng)用場(chǎng)景
[treemap繼承自SortedMap]它用于保持鍵的順序,還包含許多排序方法。
HashMap是無(wú)序的,按集合的排序方法排序。
對(duì)hashmap按值排序怎么做?
我們都知道HashMap的值沒有順序。它是根據(jù)密鑰的hashcode實(shí)現(xiàn)的。如何對(duì)這個(gè)無(wú)序的HashMap進(jìn)行排序?參考treemap的值排序,我們還可以實(shí)現(xiàn)HashMap排序。
怎么對(duì)map里面的內(nèi)容進(jìn)行排序?
Mr需要在reduce階段進(jìn)行分組,并將相同的密鑰放在一起進(jìn)行規(guī)范。為了實(shí)現(xiàn)這個(gè)目標(biāo),有兩種算法:HashMap和sort。前者占用的內(nèi)存太多,而排序可以通過外包對(duì)任意數(shù)量的數(shù)據(jù)進(jìn)行分組,只要磁盤足夠大。地圖邊排序是為了減少邊排序的壓力。spark除了提供排序方法外,還提供了hash映射,用戶可以自行配置。畢竟,分類成本太高。