對集合中的物件進行排序

2021-08-06 02:15:50 字數 1319 閱讀 8751

方法:實現comparator介面並重寫它的compare()方法,在方法內部制定排序規則。

我們有如下學生類,在不改變學生類原始碼的情況下,按照某種規則,對集合中儲存的學生物件進行排序。

public class student 

public student(string id, string name, int chinese, int math, int english)

.....省略setter和getter方法

}}

1.利用treeset在新增元素前指定排序規則(這裡是按語文成績進行排序)

public class treesetsorttest 

});ts.add(new student("001", "張三", 90, 88, 76));

ts.add(new student("002", "李四", 98, 78, 90));

ts.add(new student("003", "jack", 78, 68, 55));

for (student student : ts)

}}

列印結果:

student [id=003, name=jack, chinese=78, math=68, english=55]

student [id=001, name=張三, chinese=90, math=88, english=76]

student [id=002, name=李四, chinese=98, math=78, english=90]

2.利用arraylist集合儲存學生物件,使用工具類collections.sort ( listlist,comparator<? super t> c)操作集合,對集合進行排序

public class arraylistsorttest 

});for (student student : list)

}}

列印結果:

student [id=003, name=jack, chinese=78, math=68, english=55]

student [id=002, name=李四, chinese=98, math=78, english=90]

student [id=001, name=張三, chinese=90, math=88, english=76]

Android中對集合中的物件進行排序

最近需要乙個對物件進行排序的功能。思路 1 新建乙個類實現comparator,這個類是實現比較的關鍵類,一般做比較的型別為int或string。public class ordersortutil implements comparator 如果物件的屬性為int型別則比較方式為file2.get...

Collections 對集合物件進行排序

例如 實體類 public class sign public int getkeyindex public void setkeyindex int keyindex public string getname public void setname string name override pu...

對List集合中物件的某個屬性進行排序

通過讓實體類實現comparable介面,並重寫compareto方法。lombok自動生成getset及tostring data public class entity implements comparable override public int compareto entity o el...