排序

list排序

1,原效果:

在这里插入图片描述

2,现排序后效果

a,对单个属性排序

  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) {  
                if (u1.getName().equals(u2.getName())) {  
                    return 0;  
                }else  if (!u1.getName().equals(u2.getName())) {  
                    return u1.getName().compareTo(u2.getName());  
                }  
                return -1;  
            }  
        });  
	}

效果如下图:
在这里插入图片描述

  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;  
            }  
        });  
	}

效果如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值