最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解JAVA使用Comparator接口實(shí)現(xiàn)自定義排序

 更新時(shí)間:2019年03月18日 14:22:53   作者:孟陽miss  
這篇文章主要介紹了JAVA使用Comparator接口實(shí)現(xiàn)自定義排序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1、原則

Comparator接口可以實(shí)現(xiàn)自定義排序,實(shí)現(xiàn)Comparator接口時(shí),要重寫compare方法:
int compare(Object o1, Object o2) 返回一個(gè)基本類型的整型
如果要按照升序排序,則o1 小于o2,返回-1(負(fù)數(shù)),相等返回0,01大于02返回1(正數(shù))
如果要按照降序排序,則o1 小于o2,返回1(正數(shù)),相等返回0,01大于02返回-1(負(fù)數(shù))

 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
 
 public class UserComparator implements Comparator < User > {
 
 public static void main( String[] args ) {
 List < User > users = new ArrayList < User >();
 users.add( new User( 10, "a" ) );
 users.add( new User( 11, "d" ) );
 users.add( new User( 15, "s" ) );
 users.add( new User( 6, "x" ) );
 users.add( new User( 17, "a" ) );
 users.add( new User( 17, "b" ) );
 users.add( new User( 17, "c" ) );
 users.add( new User( 17, "d" ) );
 UserComparator comparator = new UserComparator();
 
 users.sort( comparator );
 // 也可以使用:Collections.sort( users, comparator );
 
 for ( User u : users ) {
 System.out.println( u );
 }
 }
 
 @Override
 public int compare( User u1, User u2 ) {
 if ( u1.equals( u2 ) ) {
 return 0;
 }
 else if ( u1.getAge() < u2.getAge() ) {
 return 1;
 }
 else if ( u1.getAge() == u2.getAge() ) {
 int f = u1.getName().compareTo( u2.getName() );
 if ( f < 0 ) {
  return -1;
 }
 return 0;
 }
 else {
 return -1;
 }
 }
 }
 
 class User {
 private int age;
 private String name;
 
 public User() {
 
 }
 
 public User( int age, String name ) {
 this.age = age;
 this.name = name;
 }
 
 public int getAge() {
 return age;
 }
 
 public void setAge( int age ) {
 this.age = age;
 }
 
 public String getName() {
 return name;
 }
 
 public void setName( String name ) {
 this.name = name;
 }
 
 @Override
 public String toString() {
 return "User [age=" + age + ", name=" + name + "]";
 }
 
 }
User [age=17, name=a]
User [age=17, name=b]
User [age=17, name=c]
User [age=17, name=d]
User [age=15, name=s]
User [age=11, name=d]
User [age=10, name=a]
User [age=6, name=x]

以上所述是小編給大家介紹的JAVA使用Comparator接口實(shí)現(xiàn)自定義排序詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Spring整合Mybatis詳細(xì)步驟

    Spring整合Mybatis詳細(xì)步驟

    今天帶大家來學(xué)習(xí)Spring怎么整合Mybatis,文中有非常詳細(xì)的代碼示例及介紹,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • Java數(shù)據(jù)結(jié)構(gòu)與算法之二分查找詳解

    Java數(shù)據(jù)結(jié)構(gòu)與算法之二分查找詳解

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)與算法之二分查找詳解,二分查找算法是一種在有序數(shù)組中查找某一特定元素的搜索算法,其思想就是不斷地將有序查找表“一分為二”,逐漸縮小搜索區(qū)域,進(jìn)而找到目標(biāo)元素,需要的朋友可以參考下
    2023-12-12
  • Tomcat 多端口 多應(yīng)用

    Tomcat 多端口 多應(yīng)用

    當(dāng)你使用Tomcat作為Web Server的時(shí)候,是不是會(huì)想過這樣的一個(gè)問題:如何利用Tomcat建立兩個(gè)Web Server,同時(shí)偵聽來自不同端口的請(qǐng)求呢?要實(shí)現(xiàn)這一點(diǎn)是很簡(jiǎn)單的。以下假設(shè)Tomcat安裝在D:/Tomcat5.0目錄下。
    2008-02-02
  • 了解Maven的<relativePath/>標(biāo)簽用法

    了解Maven的<relativePath/>標(biāo)簽用法

    這篇文章主要介紹了了解Maven的<relativePath/>標(biāo)簽用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • JAVA多線程與并發(fā)學(xué)習(xí)總結(jié)分析

    JAVA多線程與并發(fā)學(xué)習(xí)總結(jié)分析

    以下是對(duì)小編對(duì)JAVA多線程與并發(fā)的學(xué)習(xí)進(jìn)行了總結(jié)介紹,需要的朋友可以過來參考下
    2013-08-08
  • BeanDefinition基礎(chǔ)信息講解

    BeanDefinition基礎(chǔ)信息講解

    今天小編就為大家分享一篇關(guān)于BeanDefinition基礎(chǔ)信息講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • idea如何反編譯jar包

    idea如何反編譯jar包

    文章介紹了如何使用IntelliJ IDEA反編譯JAR包,并詳細(xì)步驟包括安裝JavaBytecodeDecompiler插件、使用命令行反編譯、解決Java版本不兼容問題以及推薦其他反編譯工具
    2025-02-02
  • mybatis寫xml時(shí)數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解

    mybatis寫xml時(shí)數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解

    這篇文章主要介紹了mybatis寫xml時(shí)數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • springboot編程式事務(wù)TransactionTemplate的使用說明

    springboot編程式事務(wù)TransactionTemplate的使用說明

    這篇文章主要介紹了springboot編程式事務(wù)TransactionTemplate的使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評(píng)論

乾安县| 玉田县| 平邑县| 邻水| 鄂托克旗| 从化市| 姜堰市| 乌拉特后旗| 东城区| 连云港市| 桐城市| 孟州市| 长沙市| 改则县| 儋州市| 上饶县| 郎溪县| 东乡| 庄浪县| 英吉沙县| 视频| 祥云县| 漳州市| 连云港市| 彰化市| 刚察县| 临安市| 武威市| 临湘市| 娱乐| 普安县| 上高县| 辽中县| 永昌县| 龙里县| 湖南省| 阿克苏市| 安远县| 泸定县| 五家渠市| 东山县|