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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

compare用法java_Java中的Compare和Comparator的使用方法

發布時間:2023/12/20 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 compare用法java_Java中的Compare和Comparator的使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java中的Compare和Comparator的使用方法

發布時間:2020-05-23 09:24:06

來源:億速云

閱讀:358

作者:Leah

如何使用Java中的Compare和Comparator?相信很多新手小白對Compare和Comparator的了解處于懵懂狀態,通過這篇文章的總結,希望你能有所收獲。如下資料是關于Compare和Comparator使用方法的代碼。class Apple implements Comparable{

int id;

double price;public Apple(int id, double price) {

this.id = id;

this.price = price;

}

public int compareTo(Apple o) {

//return Double.compare(this.getPrice(),o.getPrice());

if (Math.abs(this.price-o.price)<0.001)

return 0;

else

return (o.price-this.price)>0?1:-1;

}

@Override

public String toString() {

return "Apple{" +

"id=" + id +

", price=" + price +

'}';

}

}```

class AESComparator implements Comparator{public int compare(Apple o1, Apple o2) {

if (Math.abs(o1.price-o2.price)<0.001)

return 0;

else{

return (o1.price-o2.price)>0?1:-1;

}

}

}

實現了Comparable接口的類需要實現compareTo()方法,傳入一個外部參數進行比對,實現了Comparator接口的方法需要實現compare()方法,對外部傳入的兩個類進行比較,從而讓外部方法在比較時調用。

兩者的區別是實現Comparator接口代碼更加靈活,可以定義某個類的多個比較器,從而在排序時根據實際場景自由調用,而Comparable接口實現后便不能改動。

總結:

comparator接口:真正要實現的只有compare()方法,需要單獨準備出一個類來實現comparator接口,這個類將作為指定類的排序類

public int compare(Emp o1,Emp,o2){

return o1.id - o2.id

}

這是說如果o1的id - o2的id是正數就升序,如果負數降序。如果0就剔除

>0 ?升序

<0降序

=0 重復,不記錄

comparable接口實現該類接口不需要重新創建一個排序的類,使用接口compareble接口排序,只要重寫里面的compareTo()方法

Collections類是一個包裝類,它包含有各種有關集合操作的靜態方法。就像一個工具類。

Collections.sort()

sort()排序方法,根據元素的自然排序對指定列表按升序進行排序

public static void sort(List list,Comparator<>),根據指定比較器產生的順序對指定列表進行排序,此列表內的所有元素都必須可使用指定的比較器相互比較

參數:list——要排序的列表

C——確定列表順序的比較器

猜你還想看:

關于Java中的Compare和Comparator的使用方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。

總結

以上是生活随笔為你收集整理的compare用法java_Java中的Compare和Comparator的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。