国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java - TreeSet的自然排序問題,也與多態有關

瀏覽:135日期:2024-01-21 15:15:53

問題描述

java - TreeSet的自然排序問題,也與多態有關

問題解答

回答1:

截圖紅字的理解基本沒錯但不完全,正如 @jokester 說的,你沒把代碼貼全,注意第561行 else 前面的部分。實際上,TreeMap<T>或TreeSet<T>,排序依據有兩種情況:

創建時帶了Comparator<? super T>,那么排序依據這個Comparator;

創建時不帶Comparator<? super T>,那么要求T必須實現Comparable。

所以看TreeSet<Person>的情況,如果創建時帶了Comparator<Person>,那么Person完全可以不實現Comparable。

另外,Integer本身實現了Comparable類型,所有基本類型的封裝對象(還有Long、Double、Boolean等),以及String都,都實現了Comparable,所以當然可以強轉。

最后留一個問題給大家,TreeMap創建時帶Comparator的話,為什么要指定類型Comparator<? super K>,而不是Comparator<K>或Comparator<? extends K>?參閱TreeMap的一個構造函數:

public TreeMap(Comparator<? super K> comparator);

回答2:

正確

因爲 class Integer implements Comparable<Integer>

標簽: java
主站蜘蛛池模板: 临海市| 页游| 枣强县| 凤城市| 阜康市| 萝北县| 西宁市| 荥经县| 商城县| 大田县| 平原县| 崇左市| 五寨县| 葫芦岛市| 宿州市| 舞阳县| 晋江市| 苏尼特左旗| 克山县| 射洪县| 连平县| 丹棱县| 黔江区| 新巴尔虎左旗| 沾化县| 车险| 密山市| 凌云县| 连平县| 中卫市| 隆安县| 象山县| 玛曲县| 右玉县| 安远县| 长沙县| 卢氏县| 乌兰察布市| 栖霞市| 昌邑市| 晋城|