arraylist,list,dictionary等c#中常用到的集合都有乙個預設的sort方法,這個方法可以進行預設排序。
但是如果這些集合中的元素是自定義的類,那麼這個預設的sort可能就不準確了。
文章中使用到的命名空間是system,介面是 icomparable 和 icomparer。
sort的預設無引數的比較方式,我個人認為是icomparable中的compareto函式。
抄寫書上的兩個例子來輔助記憶:
class person : icomparable
public string name
public int compareto(object obj)
}}
class personcomparername : icomparer
}
如果在集合中新增的全是person物件,這個集合名稱為list,那麼sort方法:
list.sort(),這個方法將使用person中的compareto方法,通過年齡來對比
list.sort(personcomparername.default),這個方法將使用person中的compare方法,通過名字來對比。
另外list,這個東西居然可以用來繼承。。。。以前都不知道的,不過感覺意義不大。
sort方法還可以使用第三種方式來排序,但是第三種方式的排序需要另外寫乙個函式方法。
public int comparesort(point x, point y)
comparisonsorterx = new comparison(comparesort);
list.sort(sorterx);
這樣就可以呼叫了。 JAVA中集合的排序方法
1.專案中一些物件都是存在hashmap裡,hashmap本身是無序的,現在想對hashmap根據key排序後輸出value,可以利用collections類來快速完成有序輸出,下面是 片段 hashmap compmap new hashmap compmap.put ooooo null com...
C 中集合的使用
c 中的集合介面 ienumerable ienumerable icollection icollection idictionary idictionary ilist ilist 集合介面的關係 inte ce ienumerablet ienumerable inte ce icollect...
c 中集合的用法
2.非泛型集合 3.list 泛型集合 參考文獻 1.1陣列的限制 1.2集合的分類 c 中的集合一般分為兩種,泛型集合和非泛型集合,我一般非泛型集合用的比較少。主要用泛型集合 c 中的集合主要有這麼幾種 arraylist 表示物件的陣列,這些物件的大小會根據需要動態增加。hashtable 表示...