我有一个含有两种元素 - 免费项目和付费项目的列表。如何将具有两组元素的列表排序为两个按字母顺序排列的列表
我想排序清单,使付费项目将在列表的第一部分和免费项目在列表的第二部分。
我有一套比较器,如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