List集合中的对象根据属性排序

集合类List存放的数据,默认是按放入时的顺序存放的.比如,依次放入A,B,C, 则取出的顺序也是A,B,C.实际场景中,我们有时需要根据自定义规则对List集合中的元素进行排序,怎么实现呢?

我们可以通过实现Comparator接口来自定义排序规则.实现它的public int compara(Object o1, Object o2)方法,然后使用Conllections的sort方法来进行排序.

示例,我们按照行政区划降序排列

// 按行政区划代码升序排列
Collections.sort(returnList, new Comparator<VehRealpass>(){

	/**
	 * int compare(VehRealpass o1, VehRealpass o2) 返回一个基本类型的整型
	 * 返回负数表示:o1 小于o2,
	 * 返回0 表示:o1等于o2,
	 * 返回正数表示:o1大于o2.
	 */
	@Override
	public int compare(VehRealpass o1, VehRealpass o2) {
		// 按行政区划代码升序排列
		return o1.getDwdmdm().compareTo(o2.getDwdmdm());
	}
	
});
map.put("realJianKongList", returnList);
returnList为集合,VehRealpass为集合中的对用,dwdmdm是用来排序的属性.

str1.compareTo(str2),对于这个方法,0 表示str1与str2相等 ,1 表示str1大于str2, -1表示str1 小于str2.

效率也挺高的,2000多条,排序用了8ms.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zerlinda_Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值