我已经找到了一些关于使用多个字段对对象列表进行排序的结果,但我不明白如何使用可比较的两个字段升序和降序对列表进行排序这是我的代码,我想按降序对列表进行排序(datejournal) 然后按升序为 codejournal
public class journal implements Comparable<journal>{
private String codeJournal;
private String dateLivraison;
private int qteJournal;
public String getCodeJournal() {
return codeJournal;
}
public void setCodeJournal(String codeJournal) {
this.codeJournal = codeJournal;
}
public String getDateLivraison() {
return dateLivraison;
}
public void setDateLivraison(String dateLivraison) {
this.dateLivraison = dateLivraison;
}
public int getQteJournal() {
return qteJournal;
}
public void setQteJournal(int qteJournal) {
this.qteJournal = qteJournal;
}
@Override
public String toString() {
return "journal [codeJournal=" + codeJournal + ", dateLivraison=" + dateLivraison + ", qteJournal=" + qteJournal
+ "]";
}
@Override
public int compareTo(journal arg0) {
if(this.dateLivraison.equals(arg0.getDateLivraison())){
return -this.dateLivraison.compareTo(arg0.getDateLivraison());
}
}
}
您可以比较第一个 DateJournal(按降序)和之后的 CodeJournal(按升序),如下所示:
@Override
public int compare(final journal j1, final journal j2) {
int res;
res = j2.getDateLivraison().compareTo(j1.getDateLivraison());
if (res == 0)
res = j1.getCodeJournal().compareTo(j2.getCodeJournal());
return res;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句