Lambda表示式對HashMap按值排序

2021-10-25 17:58:12 字數 1376 閱讀 7229

使用lambda表示式對hashmap按value物件的時間屬性進行降序排序

hashmap

usermap =

newhashmap

<

>()

; usermap.

put(1,

newuser

("張三",8

,new

date()

.gettime()

)); usermap.

put(2,

newuser

("李四",10

,new

date()

.gettime()

)); usermap.

put(3,

newuser

("王五",20

,new

date()

.gettime()

)); usermap.

put(4,

newuser

("趙六",15

,new

date()

.gettime()

)); list

> list =

newarraylist

<

>

(usermap.

entryset()

); collections.

sort

((a.

getvalue()

.gettime()

!=null ? a.

getvalue()

.gettime()

.gettime()

:0)>

(b.getvalue()

.gettime()

!=null ? b.

getvalue()

.gettime()

.gettime()

:0)?

-1:1

);//list轉map

usermap=list.

stream()

.collect

(collectors.

tomap

(map.entry:

:getkey,map.entry:

:getvalue,

(oldvalue,newvalue)

-> newvalue, linkedhashmap:

:new))

;

排序後list是排序後的結果,但如果還想返回排序後的usermap,則需要把list轉化成map,才能使排序生效

@data

public

class

user

}

lambda表示式 lambda表示式

1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...

Linq表示式和Lambda表示式用法對比

什麼是linq表示式?什麼是lambda表示式?前一段時間用到這個只是,在網上也沒找到比較簡單明瞭的方法,今天就整理了一下相關知識,有空了再仔細研究研究 public program ling表示式 var stus1 from s in allstudent where s.name 王二 sel...

Lambda表示式和Lambda表示式樹

原版來自 linq學習筆記之二 lambda表示式和lambda表示式樹 lambda 表示式 lambda expressions 是linq實現的另一特性。lambda表示式的作用就是使用使用函式式語法,將方法實現關聯到委託例項。在使用查詢表示式 query expressions 時,查詢表示...