計算機程序的思維邏輯 (44) - 剖析TreeSet

41節(jié)介紹了HashSet,我們提到,HashSet有一個重要局限,元素之間沒有特定的順序,我們還提到,Set接口還有另一個重要的實現(xiàn)類TreeSet,它是有序的,與HashSet和HashMap的關系一樣,TreeSet是基于TreeMap的,上節(jié)我們介紹了TreeMap,本節(jié)我們來詳細討論TreeSet。

下面,我們先來看TreeSet的用法,然后看實現(xiàn)原理,最后總結分析TreeSet的特點。

基本用法

構造方法

TreeSet的基本構造方法有兩個:

public TreeSet() public TreeSet(Comparator<? super E> comparator)

默認構造方法假定元素實現(xiàn)了Comparable接口,第二個使用傳入的比較器,不要求元素實現(xiàn)Comparable。

基本例子

TreeSet經(jīng)常也只是當做Set使用,只是希望迭代輸出有序,如下面代碼所示: