日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

180217_JAVA学习_TreeSet中存放含多个String的类并设置排序规则

發(fā)布時(shí)間:2025/4/16 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 180217_JAVA学习_TreeSet中存放含多个String的类并设置排序规则 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有Person類如下:

1 class Person { 2   String name; 3   int age; 4   String address; 5 }

有main如下:

1 import java.util.TreeSet; 2 3 public class Test{ 4   public static void main(String[] args){ 5     Person p1 = new Person("AA",18,"CN"); 6     Person p2 = new Person("BB",18,"JP"); 7     Person p3 = new Person("CC",18,"CN"); 8 9     TreeSet<Person> persons = new TreeSet<>(); 10     persons.add(p1); 11     persons.add(p2); 12     persons.add(p3); 13     for (Object person : persons) { 14       System.out.println(person); 15     } 16   } 17 }

由于TreeSet為可排序集合,所以要為存放對(duì)象(Person)指定排序規(guī)則。

排序規(guī)則:ASC(升序),age > address > name
故重寫Person的compareTo():

1 public int compareTo(Person o) { 2 if(this.age > o.age){ 3 return 1; 4 }else if(this.age < o.age) { 5 return -1; 6 } 7 //判斷age誰大,若相等,則判斷address 8 int x = this.address.compareTo(o.address); 9 if(x != 0){ 10 return x; 11 } 12 //判斷address誰大,若相等,則判斷name 13 return this.name.compareTo(o.name); 14 }

注:若要DESC排序:

  1、age比較中交換1/-1;
  2、address比較中return相反數(shù)值;
  3、name比較中return相反數(shù)值;

上述代碼的邏輯順序:
  傳入比較對(duì)象o與自身進(jìn)行對(duì)比;
    若this.age > o.age,返回“1”;
    若this.age < o.age,返回“-1”;
    若相等,比較address;
  令x = this.address.compareTo(o.address);
    若x != 0,即不相等,x即為要返回的值(1/-1);
    若x == 0,即相等,比較name;
  this.name.compareTo(o.name)的值即為要返回的值:
    若值為 1,即大于,
    若值為-1,即為小于,
    若值為 0,即三處均相等,則完全相等,不應(yīng)存入。

?

完整代碼:

1 package toBKY; 2 3 import java.util.TreeSet; 4 5 public class Test{ 6 public static void main(String[] args){ 7 Person p1 = new Person("AA",18,"CN"); 8 Person p2 = new Person("BB",18,"JP"); 9 Person p3 = new Person("CC",18,"CN"); 10 11 TreeSet<Person> persons = new TreeSet<>(); 12 persons.add(p1); 13 persons.add(p2); 14 persons.add(p3); 15 16 for (Object person : persons) { 17 System.out.println(person); 18 } 19 //使用for each 比Iterator代碼量少 20 21 } 22 } 23 24 class Person implements Comparable<Person>{ 25 String name; 26 int age; 27 String address; 28 29 public Person(String name, int age, String address) { 30 this.name = name; 31 this.age = age; 32 this.address = address; 33 } 34 35 @Override 36 public String toString() { 37 return "Person{" + 38 "name='" + name + '\'' + 39 ", age=" + age + 40 ", address='" + address + '\'' + 41     '}'; 42   } 43 44   @Override 45   public int compareTo(Person o) { 46     if(this.age > o.age){ 47       return 1; 48     }else if(this.age < o.age) { 49       return -1; 50     } 51     //判斷age誰大,若相等,則判斷address 52     int x = this.address.compareTo(o.address); 53     if(x != 0){ 54       return x; 55     } 56     //判斷address誰大,若相等,則判斷name 57     return this.name.compareTo(o.name); 58   } 59 }

轉(zhuǎn)載于:https://www.cnblogs.com/ram314/p/8451827.html

總結(jié)

以上是生活随笔為你收集整理的180217_JAVA学习_TreeSet中存放含多个String的类并设置排序规则的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www.在线观看视频 | 99久精品 | 亚洲国产片 | 极品探花在线 | 久草福利视频 | 一区二区三区黄 | 成片免费观看视频 | 少妇一级1淫片 | 亚洲一级伦理 | 国产h在线| 综合伊人 | 国产对白羞辱绿帽vk | 欧美乱妇日本无乱码特黄大片 | 日韩在线精品强乱中文字幕 | 少妇久久久久久被弄高潮 | 日韩制服诱惑 | 97超碰国产在线 | 精品久久人人 | 成人小视频免费 | 一级片免费看视频 | 日韩欧美亚洲天堂 | 一区二区国产在线观看 | 少妇激情四射 | 真人真事免费毛片 | 日韩精品一区不卡 | 四虎影视精品 | 操出白浆视频 | 午夜精品一区二区三区在线 | 欧美人与性动交a欧美精品 日韩免费高清视频 | 日韩永久免费视频 | 口舌奴vk| 午夜黄色网址 | 麻豆久久久9性大片 | 中文字幕天堂在线 | 99热99| 好邻居韩国剧在线观看 | 91香蕉国产在线观看 | 亚洲xxxx视频 | 88福利视频 | javxxx| 国产精品嫩草影院桃色 | 成人久久免费视频 | 伊人久久精品一区二区三区 | 日韩 欧美 亚洲 | 午夜视频一区二区 | 欧美九九九 | 美女黄视频网站 | 亚洲久草| 亚洲人成网站999久久久综合 | 日本h视频在线观看 | 国产一级视频在线观看 | 伊人伊人鲁 | 99久久国产精 | 成人在线视频免费 | 色综合狠狠操 | 诱夫1v1高h | 美女久久精品 | 岛国二区三区 | 牛牛精品视频 | 亚洲av无码国产精品久久久久 | 一级黄色大片视频 | 成年人性生活视频 | 老司机久久 | 国产区一二三 | 一级片一级 | 国产a级片 | 亚洲一区免费在线观看 | 91丨九色丨海角社区 | 天堂中文字幕在线 | 久久蜜桃av一区二区天堂 | 久久久久久久久艹 | 国产成人精品亚洲 | 在线视频这里只有精品 | 亚洲丁香色 | 九九爱爱视频 | 国产人妻aⅴ色偷 | 日韩精品在线观看视频 | 精品人妻一区二区三区三区四区 | 国产精品久久久久99 | 亚洲色图偷 | 光棍影院一区二区 | 色哟哟一区二区三区四区 | 久草一本| 熟妇熟女乱妇乱女网站 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 97在线精品 | 国产成人精品一区二区三区在线 | 91视色 | 男人添女人下部高潮视频 | 丁香六月久久 | 美女脱光内衣内裤 | 长河落日电视连续剧免费观看 | 北条麻妃二三区 | 亚洲啪啪免费视频 | 91免费看国产 | 国产精一区 | 欧美混交群体交 | 国产美女在线免费观看 | zzjizzji亚洲日本少妇 |