本篇內(nèi)容介紹了“Java8中Comparator排序方法的實例使用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)建站長期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為法庫企業(yè)提供專業(yè)的
網(wǎng)站制作、成都網(wǎng)站建設(shè),
法庫網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
Java8 中 Comparator 接口提供了一些靜態(tài)方法,可以方便于我們進行排序操作,下面通過例子講解下如何使用
對整數(shù)列表排序(升序)
List list = Arrays.asList(1, 4, 2, 6, 2, 8);list.sort(Comparator.naturalOrder());System.out.println(list);
對整數(shù)列表排序(降序)
List list = Arrays.asList(1, 4, 2, 6, 2, 8);list.sort(Comparator.reverseOrder());System.out.println(list);
根據(jù)對象屬性(年齡)進行排序
public class Test { public static void main(String[] args) { List personList = new ArrayList<>(); personList.add(new Person("a", 2)); personList.add(new Person("b", 4)); personList.add(new Person("c", 7)); // 升序 personList.sort(Comparator.comparingInt(Person::getAge)); // 降序 personList.sort(Comparator.comparingInt(Person::getAge).reversed()); System.out.println(personList); } public static class Person { private String name; private Integer age; public Person(String name, Integer age) { this.name = name; this.age = age; } public Integer getAge() { return age; } // ... toString 方法 }}
根據(jù)對象屬性(價格、速度)進行排序,需要注意的是,排序有先后之分,不同的順序會導(dǎo)致不同的結(jié)果
public class Test { public static void main(String[] args) { List list = new ArrayList<>(); list.add(new Computer("xiaomi",4000,6)); list.add(new Computer("sony",5000,4)); list.add(new Computer("dell",4000,5)); list.add(new Computer("mac",6000,8)); list.add(new Computer("micro",5000,6)); // 先以價格(升序)、后再速度(升序) list.sort(Comparator.comparingInt(Computer::getPrice).thenComparingInt(Computer::getSpeed)); // 先以速度(降序)、后再價格(升序) list.sort(Comparator.comparingInt(Computer::getSpeed).reversed().thenComparingInt(Computer::getPrice)); // 先以價格(降序)、后再速度(降序) list.sort(Comparator.comparingInt(Computer::getPrice).thenComparingInt(Computer::getSpeed).reversed()); System.out.println(list); } public static class Computer { private String name; private Integer price; private Integer speed; public Computer(String name, Integer price, Integer speed) { this.name = name; this.price = price; this.speed = speed; } public Integer getPrice() { return price; } public void setPrice(Integer price) { this.price = price; } public Integer getSpeed() { return speed; } public void setSpeed(Integer speed) { this.speed = speed; } // ... toString 方法 }}
“Java8中Comparator排序方法的實例使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
名稱欄目:Java8中Comparator排序方法的實例使用-創(chuàng)新互聯(lián)
本文路徑:
http://weahome.cn/article/dccdji.html