list<entity>根据字段排序

这篇博客介绍了如何使用Java的`Comparator`对`Student`对象进行排序,首先按照在线状态(`online`)排序,然后是年级(`grade`),最后是班级(`sclass`),同时确保了null值处理。示例代码展示了如何使用`thenComparing`方法实现这一逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发中,组装数据经常会根据不同字段依次排序

list.sort(Comparator.comparing(Student::getOnline, Comparator.nullsLast((o1,o2)->o1.compareTo(o2)))
                .thenComparing(Student::getGrade,Comparator.nullsLast((o1,o2)->o1.compareTo(o2)))
                .thenComparing(Student::getSclass,Comparator.nullsLast((o1,o2)->o1.compareTo(o2))));
@Data
public class Student extends DataEntity<Student> {
	
	private String online;
	private String grade;
	private String sclass;
	}	
serviceImpl包中类的描述 serviceImpl包中类的描述如表3.11所示。 表3.11serviceImpl包中类的描述 类名 属性/方法 描述@Service("dongwuxinxiService") public class DongwuxinxiServiceImpl extends ServiceImpl<DongwuxinxiDao, DongwuxinxiEntity> implements DongwuxinxiService { @Override public PageUtils queryPage(Map<String, Object> params) { Page<DongwuxinxiEntity> page = this.selectPage( new Query<DongwuxinxiEntity>(params).getPage(), new EntityWrapper<DongwuxinxiEntity>() ); return new PageUtils(page); } @Override public PageUtils queryPage(Map<String, Object> params, Wrapper<DongwuxinxiEntity> wrapper) { Page<DongwuxinxiView> page =new Query<DongwuxinxiView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtils pageUtil = new PageUtils(page); return pageUtil; } @Override public List<DongwuxinxiVO> selectListVO(Wrapper<DongwuxinxiEntity> wrapper) { return baseMapper.selectListVO(wrapper); } @Override public DongwuxinxiVO selectVO(Wrapper<DongwuxinxiEntity> wrapper) { return baseMapper.selectVO(wrapper); } @Override public List<DongwuxinxiView> selectListView(Wrapper<DongwuxinxiEntity> wrapper) { return baseMapper.selectListView(wrapper); } @Override public DongwuxinxiView selectView(Wrapper<DongwuxinxiEntity> wrapper) { return baseMapper.selectView(wrapper); } @Override public List<Map<String, Object>> selectValue(Map<String, Object> params, Wrapper<DongwuxinxiEntity> wrapper) { return baseMapper.selectValue(params, wrapper); } @Override public List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params, Wrapper<DongwuxinxiEntity> wrapper) { return baseMapper.selectTimeStatValue(params, wrapper); } @Override public List<Map<String, Object>> selectGroup(Map<String, Object> params, Wrapper<DongwuxinxiEntity> wrapper) { return baseMapper.selectGroup(params, wrapper);
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值