android map自动排序,Android利用Collections.sort()对Map里的键值对按照键进行排序,让listview按序显示...

本文详细介绍了如何使用Java的Collections.sort()方法结合Comparator接口进行自定义排序,包括根据TestBean对象中double类型的count字段降序排序。同时,文章提及了枚举类型的自然排序以及使用ICU4J库对汉字进行更精确的排序。示例代码清晰展示了其实现过程。
摘要由CSDN通过智能技术生成

先上图,看下效果吧

bf4ec441ac8d

QQ截图20151028093026.png

贴出主要代码

Collections.sort(mList, new Comparator() {

@Override

public int compare(TestBean lhs, TestBean rhs) {

Double rScore = Double.parseDouble(rhs.getCount());

Double lScore = Double.parseDouble(lhs.getCount());

return (rScore.compareTo(lScore));

}

});

实现Comparator接口,重写int compare(Object o1, Object o2)方法;

以及 model类

public class TestBean {

private String count;

private String name;

public String getCount() {

return count;

}

public void setCount(String count) {

this.count = count;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

其他的就不贴了

注:对于枚举类型的enum1.compareTo(enum2)是按照枚举类型值在定义时的先后顺序比较的,越后面的越大

(这里顺便提下 ,对名字的排序

Arrays.sort(names, com.ibm.icu.text.Collator.getInstance(com.ibm.icu.util.ULocale.SIMPLIFIED_CHINESE));//升序;

System.out.println(Arrays.toString(names));

2.对于汉字的排序:可以尝试使用ICU4J会得到更好的结果,特别是姓为某些生僻字的时候可以

com.ibm.icu.text.Collator替换java.text.Collator

com.ibm.icu.util.ULocale替换java.util.Locale

)

很简单吧,如有不明白,请参照demo 这里点击下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值