求一个数字和字母组合的排序的问题。

何立 发布于 2014/08/01 17:02
阅读 504
收藏 0
List list = new ArrayList();
		list.add("Qa-1");
		list.add("Qa-2");
		list.add("Qa-3");
		list.add("Qa-11");
		list.add("Qa-12");
		list.add("Qa-1");
		list.add("Qa-4");
		list.add("Qa-5");
		list.add("Qa-6");
		list.add("Qa-7");
		list.add("Qa-8");
		list.add("Qa-9");
		list.add("Qb-10");
		list.add("Qb-1");
		list.add("Qb-2");
		list.add("Qb-3");
		list.add("Qb-11");
		list.add("Qb-1");
		list.add("Qb-4");
		list.add("Qb-5");
		list.add("Qb-6");
		list.add("Qb-7");
		list.add("Qb-8");
		list.add("Qb-9");
		list.add("Qb-10");

我的list 的数据是这样的  

用Collections.sort(list,Collator.getInstance());

但是因为 超过10以后  数据就会变成

类似    1,10,11,12,2,3,4,5,6,7,8,9 这个样子的。。没法做成顺序排列。。

求解决



加载中
0
yoka24443
yoka24443
是啊,处理下数据源
0
Cobbage
Cobbage
自己写个比较方法呗 -之前的字典比较 之后数字比较
0
wangxigui
wangxigui

自己实现一个排序算法,实现Comparator接口,重写compare函数,而不要用系统的。然后将自己的排序算法传给Collections.sort。


Collections.sort(studentList, new MySortMethod());

class MySortMethod implements Comparator {
 public int compare(Object o1, Object o2) {
    //自己排序算法
 }

参照:   

http://blog.163.com/d_168@126/blog/static/172948668201141211813656/

0
雷男
雷男
 把后面的数字字符串取出来,利用库函数转成数字,排序,o了
0
何立
何立

引用来自“wangxigui”的评论

自己实现一个排序算法,实现Comparator接口,重写compare函数,而不要用系统的。然后将自己的排序算法传给Collections.sort。


Collections.sort(studentList, new MySortMethod());

class MySortMethod implements Comparator {
 public int compare(Object o1, Object o2) {
    //自己排序算法
 }

参照:   

http://blog.163.com/d_168@126/blog/static/172948668201141211813656/

谢谢
返回顶部
顶部