Comparator 集合中对内部对象进行排序

对一个jsonarray对象进行排序,可根据内部字段定义排序

	public static void main(String[] args){
		String json="[{id:2,name:'李布',age:'15'},{id:1,name:'杜甫',age:'15'},{id:3,name:'李太白',age:'18'},{id:4,name:'李白',age:'18'}]";
		JSONArray ja=JSONArray.fromObject(json);
		ComparatorChain compChain=new ComparatorChain();
		Comparator comp=ComparableComparator.getInstance();
		comp=ComparatorUtils.reversedComparator(comp);
		
		compChain.addComparator(new BeanComparator("id"));
		compChain.addComparator(new BeanComparator("age",comp));
		System.out.println(ja);
		Collections.sort(ja, compChain);
		System.out.println(ja);
	}

//out:
{"id":2,"name":"李布","age":"15"}
{"id":1,"name":"杜甫","age":"15"}
{"id":3,"name":"李太白","age":"18"}
{"id":4,"name":"李白","age":"18"}

//out:
{"id":1,"name":"杜甫","age":"15"}
{"id":2,"name":"李布","age":"15"}
{"id":3,"name":"李太白","age":"18"}
{"id":4,"name":"李白","age":"18"}

依赖的包有

commons-collections.jar

commons-beanunits.jar

commons-lang.jar

json-lib-jdk15.jar

ezmorph.jar

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值