重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Java Guava使用Ordering排序器的方法,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一 創(chuàng)建排序器
排序器:可以用來(lái)為構(gòu)建復(fù)雜的比較器,以完成集合排序的功能:
本質(zhì)上來(lái)說(shuō),Ordering 實(shí)例無(wú)非就是一個(gè)特殊的Comparator 實(shí)例。
Ordering把很多基于Comparator的靜態(tài)方法(如Collections.max)包裝為自己的實(shí)例方法(非靜態(tài)方法),
并且提供了鏈?zhǔn)秸{(diào)用方法,來(lái)定制和增強(qiáng)現(xiàn)有的比較器
//創(chuàng)建排序器 @Test public void createOreing(){ //對(duì)可排序類(lèi)型做自然排序,如數(shù)字按大小,日期按先后排序 Orderingnatural = Ordering.natural(); //按對(duì)象的字符串形式做字典排序 Ordering.usingToString(); //把給定的Comparator轉(zhuǎn)化為排序器或者繼承Ordering實(shí)現(xiàn)自定義排序器 Ordering from = Ordering.from((Integer x, Integer y) -> Ints.compare(x, y)); System.out.println(from.max(5, 6)); }