我正在尝试编写代码以按以下顺序对列表中的数据进行排序,并且知道我必须使用比较器,但是我不知道如何在比较器中实现以下逻辑。一些帮助或例子将是巨大的!我希望收到您的来信。
f{kfrt114; rhanz feJ dk tUe lu~ 1977 esa v;ksè;k (mÙkj izns"k) esa gqvkA mUgksaus y[kumQ fo"ofo|ky;] y[kumQ ls ¯gnh esa ,e-,- fd;kA os vktdy Lora=k ys[ku osQ lkFk v¼Zokf"kZd lfgr if=kdk dk laiknu dj jgs gSaA lu~ 1999 eas lkfgR; vkSj dykvksa osQ lao¼Zu vkSj vuq"khyu osQ fy, ,d lkaLÑfrd U;kl ^foeyk nsoh iQkmaMs"ku* dk lapkyu Hkh dj jgs gSaA ;rhanz feJ osQ rhu dkO;&laxzg izdkf"kr gq, gSaμ;nk&dnk] v;ksè;k rFkk vU; dfork,¡] M~;ks<+h ij vkykiA blosQ vykok "kkL=kh; xkf;dk fxfjtk nsoh osQ thou vkSj laxhr lk/uk ij ,d iqLrd fxfjtk fy[khA jhfrdky osQ vafre izfrfuf/ dfo f}tnso dh xzaFkkoyh (2000) dk lg&laiknu fd;kA oq¡Qoj ukjk;.k ij osaQfnzr nks iqLrdksa osQ vykok fLid eSosQ osQ fy, fojklr&2001
我希望列表的排序方式如下
显示顺序
final private ArrayList<BookItem> books = new ArrayList<>();
Collections.sort(books, compareBooks);
答案 0 :(得分:0)
我会按照您的排序属性列表中的步骤进行操作
a
private Comparator<BookItem> compareBooks = (o1, o2) -> {
int result =o1.sort_order - o2.sort_order
if(0==result){
result=o1.start_date.compareTo(o2.start_date);
}
if(0==result){
result=o1.ID-o2.ID;
}
};
我很可能弄乱了至少一个属性的顺序,但是这个主意应该很清楚。