最近博主做的项目中需要做一个wap版的手机通讯录,下午整理了下思路,发现这个用户名怎么排序啊?产品经理说就做成和手机通讯录类似的就行(心中一万头神兽飘过),好吧,既然提出来了那就要想办法做,作为一个程序员就应该百折不挠!!
首先博主想到的是从前端解决这个问题,所以索性找找资料,看看有没有现成的代码,找了一小会,没发现什么好的js能处理好这件事,哎。。。博主前端渣啊,好吧,转向后台来处理,前端你就等着专心的展示数据吧!
查阅相关api发现Comparator这个接口竟然有这个功能,真是省了好大一部分时间,下面贴出代码:
package demo;
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
public class Test {
public static void main(String[] args) {
// Collator 类是用来执行区分语言环境的 String 比较的,这里选择使用CHINA
Comparator comparator = Collator.getInstance(java.util.Locale.CHINA);
String[] arrStrings = { "aa","AA","11","小菜","镜花8水月90", "www.noreplace.com", "花无缺", "镜花7水月90","小傻" };
// 使根据指定比较器产生的顺序对指定对象数组进行排序。
Arrays.sort(arrStrings, comparator);
for (int i = 0; i < arrStrings.length; i++)
System.out.println(arrStrings[i]);
}
}
以上先定义比较器,使用汉字比较器,然后直接调用方法就OK了,是不是很方便?哈哈哈!
运行结果:
11aaAAwww.noreplace.com花无缺镜花7水月90镜花8水月90小菜小傻
这里是使用ASCII码 进行比较的,大家有兴趣可以去了解下。。。
更多内容敬请关注我的个人博客:镜花水月的博客 转载请带上出处链接,谢谢,www.noreplace.com
本文出自 “11437810” 博客,请务必保留此出处http://11447810.blog.51cto.com/11437810/1762939