我有一個含有兩種元素 - 免費項目和付費項目的列表。如何將具有兩組元素的列表排序爲兩個按字母順序排列的列表
我想排序清單,使付費項目將在列表的第一部分和免費項目在列表的第二部分。
我有一套比較器,如A-Z排序,Z-A排序,Type排序。
無論是什麼類型的排序,它應該總是顯示列表的第一部分中的最終列表作爲付費項目,並且列表的第二部分中的免費項目以及基於比較器排序的列表中的每個集合Az或ZA等)。
敵人例如。
我有三個付費項目和五個免費項目。
當我在A-Z上對完整列表進行排序時,它應該在A-Z排序中顯示三個付費項目,然後按A-Z排序順序顯示免費項目。
我想知道如何實現這一點。
更新的代碼片段:
列表包含名稱{APaid,MFree,OFree,BPaid,NFree,PFree,CPaid,QFree}
Collections.sort(myList, new UtilityClass.TitleComparatorAtoZ());
public static class TitleComparatorAtoZ implements Comparator
{
public int compare(Object o1, Object o2)
{
int result = 0;
if ((o1 != null) && (o2 != null))
{
if (o1 instanceof Item && o2 instanceof Item)
{
Item lmi1 = (Item) o1;
Item lmi2 = (Item) o2;
if ((lmi1.getName() != null) && (lmi2.getName() != null))
{
result = lmi1.getName().compareToIgnoreCase(lmi2.getName());
}
}
}
return result;
}
}
的最終名單應該項目{APaid,BPaid,CPaid,MFree,NFree,OFree,PFree,QFree}。
能否請你闡述我的代碼片段,我應該怎麼修改比較。 – Sen