【java】【集合】TreeSet
一、概述
TreeSet集合是用來對物件元素進行排序的,同樣也可以保證元素的唯一,底層是二叉樹實現
二、TreeSet唯一性原理
1.特點
* TreeSet是用來排序的, 可以指定一個順序, 物件存入之後會按照指定的順序排列
2.使用方式
a.自然順序(Comparable)
* TreeSet類的add()方法中會把存入的物件提升為Comparable型別
* 呼叫物件的compareTo()方法和集合中的物件比較
* 根據compareTo()方法返回的結果進行儲存
b.比較器順序(Comparator)
* 建立TreeSet的時候可以制定一個Comparator
* 如果傳入了Comparator的子類物件, 那麼TreeSet就會按照比較器中的順序排序
* add()方法內部會自動呼叫Comparator介面中compare()方法排序
* 呼叫的物件是compare方法的第一個引數,集合中的物件是compare方法的第二個引數
c.兩種方式的區別
* TreeSet建構函式什麼都不傳, 預設按照類中Comparable的順序(沒有就報錯ClassCastException)
* TreeSet如果傳入Comparator,就優先按照Comparator
相關文章
- 集合框架-TreeSet集合框架
- Java Set 常用集合 HashSet、LinkedHashSet、TreeSetJava
- 死磕 java集合之TreeSet原始碼分析Java原始碼
- Java集合框架原始碼剖析:TreeSet 和 TreeMapJava框架原始碼
- Java集合(3)一 紅黑樹、TreeMap與TreeSet(上)Java
- Java集合(4)一 紅黑樹、TreeMap與TreeSet(下)Java
- 使用TreeSet構造排序的集合排序
- Set集合的直接子類TreeSet
- List集合(ArrayList-LinkedList);Set集合(HashSet-TreeSet)
- Java中Collection Frame中常用集合簡析(ArrayList,Vector,HashSet,TreeSet...)Java
- Java集合系列(三):HashSet、LinkedHashSet、TreeSet的使用方法及區別Java
- java基礎學習之十:集合型別Set/List/Map(TreeSet,LinkedList,TreeMap)Java型別
- 集合框架-TreeSet的add()方法的原始碼解析框架原始碼
- 橫掃Java Collections系列 —— TreeSetJava
- Java集合詳解7:一文搞清楚HashSet,TreeSet與LinkedHashSet的異同Java
- java TreeSet去重與排序入門Java排序
- 轉:Java中的HashSet, TreeSet, HashMap, TreeMapJavaHashMap
- TreeSet
- Java常用資料結構之Set之TreeSetJava資料結構
- java基礎:HashSet/LinkedHashSet/TreeSet — 原始碼分析Java原始碼
- 【Java集合】1 集合概述Java
- 【Java集合原始碼剖析】Java集合框架Java原始碼框架
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- java——集合Java
- java集合Java
- TreeSet的特性
- Java集合詳解(一):全面理解Java集合Java
- Java集合(1)一 集合框架Java框架
- Java集合——ArrayListJava
- JAVA_集合Java
- Java 集合框架Java框架
- Java集合:HashMapJavaHashMap
- Java 集合概述Java
- 集合類【Java】Java
- Java集合大全Java
- java集合-ListJava
- Java集合-CollectionJava
- java集合概述Java