HashMap 元素排序實現

2021-08-26 08:38:13 字數 1070 閱讀 8846

已知乙個hashmap集合,user 有 name(string)和 age(int)屬性。請寫乙個方法實現對hashmap的排序功能,該方法接收hashmap為形參,返回型別為hashmap,要求對 hashmap 中的 user 的 age 倒序進行排序。排序時 key=value 鍵值對不得拆散。

hashmap 本身就是不可排序的,但是該道題偏偏讓給hashmap 排序,那我們就得想在 api 中有沒有這樣的 map 結構是有序的,linkedhashmap,對的,就是他,他是map 結構,也是鍊錶結構,有序的,更可喜的是他是 hashmap 的子類,我們返回linkedhashmap即可,還符合面向介面(父類程式設計的思想)。但凡是對集合的操作,我們應該保持乙個原則就是能用 jdk 中的 api 就有 jdk 中的 api,比如排序演算法我們不應

該去用冒泡或者選擇,而是首先想到用 collections 集合工具類。

public

class

collectionstest

* */

}public

static hashmapsorthashmap(hashmapmap)

});//建立乙個新的有序的 hashmap 子類的集合

linkedhashmaplinkedhashmap = new linkedhashmap();

//將 list 中的資料儲存在 linkedhashmap 中

for (map.entryentry : list)

//返回結果

return linkedhashmap;

}}class user

public string getname()

public

void

setname(string name)

public

intgetage()

public

void

setage(int age)

}

實現HashMap的排序

已知乙個hashmap集合,user有name string 和 age int 屬性,請寫乙個方法實現對hashmap的排序功能,該方法接受hashmap為形參,返回型別為hashmap,要求對hashmap中的user的age倒序進行排序,排序時key value鍵值對不能拆散。注意 hashm...

力扣169 多數元素(hashmap實現

如題 給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列 現次數 大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在多數元素。示例 1 輸入 3,2,3 輸出 3 示例 2 輸入 2,2,1,1,1,2,2 輸出 2 如下 示例 class solution els...

HashMap按照value排序的實現

將hashmap中的元素按照entry型別存入到linkedlist集合中。實現自定義排序,對linkedlist集合排序。linkedlist集合的元素存入到hashmap中,返回排序好的結果 param map hashmap按照值進行排序 return 返回排序後的map public sta...