java集合有哪些 treeset如何排序?
treeset如何排序?示例:為添加到TreeSet的student對(duì)象實(shí)現(xiàn)可比較接口,并通過(guò)在student中重寫(xiě)compareto()方法來(lái)確定TreeSet中對(duì)象的排序方法。學(xué)生類如下12345
treeset如何排序?
示例:為添加到TreeSet的student對(duì)象實(shí)現(xiàn)可比較接口,并通過(guò)在student中重寫(xiě)compareto()方法來(lái)確定TreeSet中對(duì)象的排序方法。學(xué)生類如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
19
20
21
22
23
24類學(xué)生實(shí)現(xiàn)兼容的私有int age//重寫(xiě)compareto()方法public int compareto(object o){student s=(student)o如果(這個(gè)年齡< s.age)return-1 else if(s.age==這個(gè)年齡)Return 0 else Return 1}學(xué)生加入TreeSet時(shí),按年齡排序。
javaset集合的值可以排序嗎?
我們知道集合是無(wú)序的,可以使用TreeSet類。樹(shù)集排序的規(guī)則是什么?1treeset支持兩種排序方法:自然排序和自定義排序。默認(rèn)情況下,TreeSet采用自然排序。自然排序:TreeSet調(diào)用set元素的CompareTo(objectobj)方法來(lái)比較元素的大小為什么set元素有CompareTo方法?因?yàn)閟et element對(duì)象實(shí)現(xiàn)了可比較的接口。此方法返回一個(gè)整數(shù)值。當(dāng)一個(gè)對(duì)象調(diào)用此方法時(shí),它會(huì)與另一個(gè)對(duì)象進(jìn)行比較。例如,obb1。CompareTo(obb2)如果返回0,則表示兩個(gè)對(duì)象相等,例如如果該方法返回正整數(shù),則表示obji1大于obji2。如果該方法返回負(fù)整數(shù),則表示obji1小于obji2,因此需要使用TreeSet集合進(jìn)行自然排序,并且元素必須實(shí)現(xiàn)可比較接口。但是,一些常見(jiàn)的Java類已經(jīng)實(shí)現(xiàn)了該接口,例如:stringcharacterboolean datetimebigdecimalbiginteger等,例如:TreeSet<string>Ts=new reeSet<string>()ts.添加(“b”)ts.添加(“c”)ts.添加(“a”)系統(tǒng)輸出打?。═S)結(jié)果:ABC