list排序
1,原效果:
2,现排序后效果
a,对单个属性排序
- 对单个姓名进行排序(按照汉字的一般方式排序)
public void addRecords(List<FinancialRefundEntity> refundRecordList){
log.info("根据条件查找学生......");
List<FinancialRefundEntity> list = new ArrayList<FinancialRefundEntity>();
for(int i=0;i<refundRecordList.size();i++) {
if("冲正".equals(refundRecordList.get(i).getFeeStatus())) {
FinancialRefundEntity financialRefundEntity1=new FinancialRefundEntity();
financialRefundEntity1.setRefundId(refundRecordList.get(i).getRefundId());
financialRefundEntity1.setStuCode(refundRecordList.get(i).getStuCode());
financialRefundEntity1.setRefundAmount(refundRecordList.get(i).getRefundAmount());
financialRefundEntity1.setStuNum(refundRecordList.get(i).getStuNum());
financialRefundEntity1.setFeeStatus("正常");
financialRefundEntity1.setIdCard(refundRecordList.get(i).getIdCard());
financialRefundEntity1.setMajorName(refundRecordList.get(i).getMajorName());
financialRefundEntity1.setCreateTimes(refundRecordList.get(i).getUpdateTimes());
financialRefundEntity1.setCreateBy(refundRecordList.get(i).getCreateBy());
financialRefundEntity1.setName(refundRecordList.get(i).getName());
financialRefundEntity1.setExamNumber(refundRecordList.get(i).getExamNumber());
financialRefundEntity1.setRemark("yes");
list.add(financialRefundEntity1);
}
}
refundRecordList.addAll(list);
Collections.sort(refundRecordList, new Comparator<FinancialRefundEntity>() {
@Override
public int compare(FinancialRefundEntity u1, FinancialRefundEntity u2) {
if (u1.getName().equals(u2.getName())) {
return 0;
}else if (!u1.getName().equals(u2.getName())) {
return u1.getName().compareTo(u2.getName());
}
return -1;
}
});
}
效果如下图:
- 按照汉字的字典顺序排序
public void addRecords(List<FinancialRefundEntity> refundRecordList){
log.info("根据条件查找学生......");
List<FinancialRefundEntity> list = new ArrayList<FinancialRefundEntity>();
for(int i=0;i<refundRecordList.size();i++) {
if("冲正".equals(refundRecordList.get(i).getFeeStatus())) {
FinancialRefundEntity financialRefundEntity1=new FinancialRefundEntity();
financialRefundEntity1.setRefundId(refundRecordList.get(i).getRefundId());
financialRefundEntity1.setStuCode(refundRecordList.get(i).getStuCode());
financialRefundEntity1.setRefundAmount(refundRecordList.get(i).getRefundAmount());
financialRefundEntity1.setStuNum(refundRecordList.get(i).getStuNum());
financialRefundEntity1.setFeeStatus("正常");
financialRefundEntity1.setIdCard(refundRecordList.get(i).getIdCard());
financialRefundEntity1.setMajorName(refundRecordList.get(i).getMajorName());
financialRefundEntity1.setCreateTimes(refundRecordList.get(i).getUpdateTimes());
financialRefundEntity1.setCreateBy(refundRecordList.get(i).getCreateBy());
financialRefundEntity1.setName(refundRecordList.get(i).getName());
financialRefundEntity1.setExamNumber(refundRecordList.get(i).getExamNumber());
financialRefundEntity1.setRemark("yes");
list.add(financialRefundEntity1);
}
}
refundRecordList.addAll(list);
Collections.sort(refundRecordList, new Comparator<FinancialRefundEntity>() {
@Override
public int compare(FinancialRefundEntity u1, FinancialRefundEntity u2) {
String name1 = String.valueOf(u1.getName()+u1.getRefundId());
String name2 = String.valueOf(u2.getName()+u2.getRefundId());
if (name1.equals(name2)) {
return 0;
}else if (!name1.equals(name2)) {
Collator instance = Collator.getInstance(Locale.CHINA);
return instance.compare(name1,name2);
}
return -1;
}
});
}
b,对多个属性排序
此时比较的是姓名和退费流水ID
public void addRecords(List<FinancialRefundEntity> refundRecordList){
log.info("根据条件查找学生......");
List<FinancialRefundEntity> list = new ArrayList<FinancialRefundEntity>();
for(int i=0;i<refundRecordList.size();i++) {
if("冲正".equals(refundRecordList.get(i).getFeeStatus())) {
FinancialRefundEntity financialRefundEntity1=new FinancialRefundEntity();
financialRefundEntity1.setRefundId(refundRecordList.get(i).getRefundId());
financialRefundEntity1.setStuCode(refundRecordList.get(i).getStuCode());
financialRefundEntity1.setRefundAmount(refundRecordList.get(i).getRefundAmount());
financialRefundEntity1.setStuNum(refundRecordList.get(i).getStuNum());
financialRefundEntity1.setFeeStatus("正常");
financialRefundEntity1.setIdCard(refundRecordList.get(i).getIdCard());
financialRefundEntity1.setMajorName(refundRecordList.get(i).getMajorName());
financialRefundEntity1.setCreateTimes(refundRecordList.get(i).getUpdateTimes());
financialRefundEntity1.setCreateBy(refundRecordList.get(i).getCreateBy());
financialRefundEntity1.setName(refundRecordList.get(i).getName());
financialRefundEntity1.setExamNumber(refundRecordList.get(i).getExamNumber());
financialRefundEntity1.setRemark("yes");
list.add(financialRefundEntity1);
}
}
refundRecordList.addAll(list);
Collections.sort(refundRecordList, new Comparator<FinancialRefundEntity>() {
@Override
public int compare(FinancialRefundEntity u1, FinancialRefundEntity u2) {
String name1 = String.valueOf(u1.getName()+u1.getRefundId());
String name2 = String.valueOf(u2.getName()+u2.getRefundId());
if (name1.equals(name2)) {
return 0;
}else if (!name1.equals(name2)) {
return name1.compareTo(name2);
}
return -1;
}
});
}
效果如下图: