最近博主做的项目中需要做一个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了,是不是很方便?哈哈哈!
运行结果:
11 aa AA www.noreplace.com 花无缺 镜花7水月90 镜花8水月90 小菜 小傻
这里是使用ASCII码 进行比较的,大家有兴趣可以去了解下。。。
更多内容敬请关注我的个人博客:镜花水月的博客 转载请带上出处链接,谢谢,www.noreplace.com
时间: 2024-11-12 09:02:57