最近需要乙個對物件進行排序的功能。
思路:1、新建乙個類實現comparator<?>,這個類是實現比較的關鍵類,一般做比較的型別為int或string。
public class ordersortutil implements comparator
}
如果物件的屬性為int型別則比較方式為file2.getmediaid()-file1.getmediaid();
如果物件的屬性為string型別則比較方式為 file2.geturistr.compareto(file2.geturistr);
以上為降序排列。如果公升序則調換「-」前後資料的位置。
2、呼叫方法
使用collections.sort(filelist,new ordersortutil())進行排序,第乙個引數為要排序的物件集合,第二個引數為上面新建的比較類。
listfilelist = new arraylist();
for (int i = 0; i < 6; i++)
collections.sort(filelist, new ordersortutil());
for (int i = 0; i < filelist.size(); i++)
實體類localfile:
public class localfile implements parcelable
public void setmediaid(int mediaid)
public string geturistr()
public void seturistr(string uristr)
}
Android集合中物件排序
如果將集合中的物件進行排序,最近使用了乙個簡單的方法解決了,隨筆記下來。主要思路 首先,新建類實現comparator,這個類是做比較的關鍵類,一般做比較的型別 int 或 string型別。如果屬性為int型別比較方式為 rhs.getage lhs.getage 如果屬性為string型別方式為...
對集合中的物件進行排序
方法 實現comparator介面並重寫它的compare 方法,在方法內部制定排序規則。我們有如下學生類,在不改變學生類原始碼的情況下,按照某種規則,對集合中儲存的學生物件進行排序。public class student public student string id,string name,...
對List集合中物件的某個屬性進行排序
通過讓實體類實現comparable介面,並重寫compareto方法。lombok自動生成getset及tostring data public class entity implements comparable override public int compareto entity o el...