java 使用lambda 進行排序

2021-09-11 23:00:27 字數 811 閱讀 2917

使用lambda表示式進行排序。

**第一版

collections.sort(jobs, new comparator() 

});collections.sort(jobsituations, new comparator()

});collections.sort(jobfinalprocessers, new comparator()

});

第二版開始使用lambda表示式

jobs.sort((t1, t2) -> comparator.comparing(job::getid));

jobsituations.sort((t1, t2) -> t1.getjobid().compareto(t2.getjobid()));

jobfinalprocessers.sort((t1, t2) -> t1.getjobid().compareto(t2.getjobid()));

**還算簡潔。網上找了一些**也是這麼寫的,但是之前記得有更好的方法。

第三版應該是比較純粹的lambda表示式。很滿意。

jobs.sort(comparator.comparing(job::getid));

jobsituations.sort(comparator.comparing(jobsituation::getjobid));

jobfinalprocessers.sort(comparator.comparing(jobfinalprocesser::getjobid));

Lambda省略格式 Lambda使用前

lambda表示式 是可推導,可省略的 可省略內容 1.引數列表 括號中的引數列表的資料型別,可以省略不寫 2.引數列表 括號中的引數如果只有乙個,那麼型別和 都可以省略 3.一些 如果 中的 只有一行,無論是否有返回值,都可以省略 return,注意 要省略三個一起省略 1.invokecook ...

Lambda簡單使用

所有想要具有比較功能的類,都建議實現這個介面 comparable 此介面強行對實現它的每個類的物件進行整體排序。這種排序被稱為類的自然排序,類的 compareto 方法被稱為它的自然比較方法。public class hero implements comparable public void ...

lambda入門使用

lambda表示式,其實本質來講,就是乙個匿名函式。因此在寫lambda表示式的時候,不需要關心方法名是什麼。實際上,我們在寫lambda表示式的時候,也不需要關心返回值型別。我們在寫lambda表示式的時候,只需要關注兩部分內容即可 引數列表和方法體 public class syntax lam...