Set集合的排序

2021-09-01 05:56:54 字數 949 閱讀 4292

treeset使用元素的自然順序對元素進行排序,或者根據建立set時提供的comparator進行排序,具體取決於使用的構造方法。通俗一點來說,就是可以按照排序後的列表顯示,也可以按照指定的規則排序。

setset = new treeset();       

set.add("f");

set.add("a");

set.add("b");

set.add("c");

set.add("d");

set.add("e");

system.out.println(set);

輸出:[a, b, c, d, e, f] ,按照排序後輸出

若想它倒序輸出,可以指定乙個規則類實現

comparator

然後過載裡面的乙個方法

compare讓它倒序輸出。

public class treesettest3   

} }

class mycomparator implements comparator

} 輸出:e d c b a a //降序

如果set集合中放入的是我們自己定義的乙個類型別 《一定要定義乙個排序規則類實現comparator介面,與上面的方法類似》

public class treesettest2   

} } class person

public string tostring()

} class personcomparator implements comparator

} 輸出:10 20 30 40

如果按照乙個人的分數的倒序排列,只需要更改compare方法中的o2.score-o1.score

set集合的排序

在hibernate的onetomany的實體關聯的時候,one端的set是無序的,可是需要按照順序來搞的話就比較麻煩了。下面給出乙個例子。setdiarypictureset growthdiary.getdiarypictures listdiarypicturelist new arrayli...

排序之set集合排序

include include include include using namespace std setdict int main cout 排序之後 iterator it dict.begin it dict.end it cout 公升序排列 include 對於重複的數字將會忽略 in...

關於set集合的排序問題

1.set集合 set集合是一種不包含重複元素的collection,set集合中主要有兩個類 hashset類和treeset類。一般情況我們使用hashset比較多。因為set集合預設是無序的。當我們想要對set集合進行排序時,會使用到treeset。2.hashset的使用及遍歷 progra...