java有順序的map java中需要排序的數(shù)據(jù),為什么都是用hashmap,而不是直接用sortmap?
java中需要排序的數(shù)據(jù),為什么都是用hashmap,而不是直接用sortmap?不同的應(yīng)用場景[treemap繼承自SortedMap]它用于保持鍵的順序,還包含許多排序方法。HashMap是無序的
java中需要排序的數(shù)據(jù),為什么都是用hashmap,而不是直接用sortmap?
不同的應(yīng)用場景
[treemap繼承自SortedMap]它用于保持鍵的順序,還包含許多排序方法。
HashMap是無序的,按集合的排序方法排序。
MapFile是全局排序么?和MapFileOutputFormat有什么關(guān)系?
Mapfile是基于sequencefile開發(fā)的,可以說是索引版本的sequencefile。Mapfile由數(shù)據(jù)和索引兩部分組成,由sequencefile實(shí)現(xiàn)。其中,數(shù)據(jù)將以鍵值對的形式存儲數(shù)據(jù),索引存儲索引,主要記錄每條記錄的鍵值和偏移值。在訪問數(shù)據(jù)時(shí),首先將索引文件加載到內(nèi)存中,然后根據(jù)映射關(guān)系定位文件的位置。
因此,mapfile是一種全局排序。Mapfileoutputformat實(shí)際上使用mapfile的讀取器。因此,將根據(jù)mapfile的索引文件來保證順序。
由于mapfile是一個(gè)已排序的文件,因此這是一個(gè)典型的場景,例如,合并多個(gè)小文件,根據(jù)鍵值將小文件排序并合并為大文件。