亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解JAVA使用Comparator接口實現自定義排序

發布時間:2020-10-26 09:51:44 來源:腳本之家 閱讀:257 作者:孟陽miss 欄目:編程語言

1、原則

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

 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接口實現自定義排序詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江门市| 安泽县| 梓潼县| 云林县| 新巴尔虎右旗| 江陵县| 盘锦市| 洞头县| 即墨市| 栖霞市| 东宁县| 军事| 聂拉木县| 辽阳市| 虞城县| 湟源县| 同江市| 大悟县| 邵东县| 灌阳县| 陆良县| 靖远县| 南开区| 河曲县| 巴林左旗| 舞钢市| 通化县| 赞皇县| 铜川市| 盐亭县| 桃江县| 海林市| 共和县| 会昌县| 南和县| 轮台县| 泰州市| 永平县| 阜平县| 长沙县| 叙永县|