JAVA使用Collator对中文排序
首先创建一个集合
public static List<String> init() {
    List<String> list = new ArrayList<String>();
    list.add("李方");
    list.add("郭云2");
    list.add("郭云3");
    list.add("赵飞");
    list.add("马路");
    list.add("xxx");
    list.add("xxy");
    list.add("432");
    return list;
}
接下来开始排序
public static void sort() {
    List<String> list = init();
    Comparator<String> comparator = new Comparator<String>() {
        public int compare(String o1, String o2) {
            Collator collator = Collator.getInstance();
            return collator.getCollationKey(o1).compareTo(
                collator.getCollationKey(o2));
        }
    };
    Collections.sort(list, comparator);
    System.out.println(list);
    }
输出结果:
[432, xxx, xxy, 郭云2, 郭云3, 李方, 马路, 赵飞]
数字排在最前,英文字母其次,汉字则按照拼音进行排序。
JAVA使用Collator对中文排序的更多相关文章
- TreeMap中文排序,TreeMap倒序输出排列
		
1.TreeMap集合倒序排列 import java.util.Comparator; /** * 比较算法的类,比较器 * @author Administrator * */ public cl ...
 - java提供的默认list排序方法-转
		
1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...
 - java Collections.sort()实现List排序的默认方法和自定义方法
		
1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...
 - jQuery的dataTables插件实现中文排序
		
最近在写Java web. 写JSP的时候发现一个很好玩的插件dataTables.分页.过滤.排序等等手到擒来. 哎哎哎,有点点可惜的是排序这个功能不支持中文.于是网上查查找找,现在把方法整理一下, ...
 - java Collections.sort()实现List排序的默认方法和自定义方法【转】
		
1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...
 - 程序兵法:Java String 源码的排序算法(一)
		
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 这是泥瓦匠的第103篇原创 <程序兵法:Java Str ...
 - 死去活来的OC NSArray 中文排序 及输出
		
目的 1.NSArray 能够支持中文排序 2.NSLog 能够直接输出 NSArray 内的中文(事实上 java 直接打印数组也不能显示内容哈) 又是死去活来的搞了1个小时,分类实现.废话少说,上 ...
 - List<Map<String,Object>> 中文排序
		
@RequestMapping(value = "/getBaseCodess", method = RequestMethod.GET) public ModelAndView ...
 - JAVA中汉字的Compare排序
		
当调用String.compare方法的时候,比较的是Unicode码,并不能对汉字进行准确的排序,所以汉字比较时会出现比较混乱的结果. java.text.Collator类中有一个getInsta ...
 
随机推荐
- MongoDB 部署 & 基础命令
			
MongoDB 官方文档 MongoDB 介绍 Mongodb 由 C++ 语言编写的,是一个基于分布式文件存储的开源数据库系统. 是专为可扩展性,高性能和高可用性而设计的数据库, 是非关系型数据库中 ...
 - Redis 搭建与配置
			
Redis 简介 Redis 是一款开源的,ANSI C 语言编写的,高级键值(Key-Value)缓存和支持永久存储 NoSQL 数据库产品, Redis 采用内存(In-Memory)数据集(Da ...
 - Python-collections模块之defaultdict
			
defaultdict defaultdict 是 dict 类型的子类,正如其名,初始化时,可以给key指定默认值,什么意思呢?直接看代码.如果是普通的dict对象,访问一个不存在的key时,会报错 ...
 - 高并发之ReentrantLock、CountDownLatch、CyclicBarrier
			
本系列研究总结高并发下的几种同步锁的使用以及之间的区别,分别是:ReentrantLock.CountDownLatch.CyclicBarrier.Phaser.ReadWriteLock.Stam ...
 - Linux & change username & computer name & .bashrc
			
Linux & change username & computer name ubuntu change username and computer name https://ask ...
 - Teadocs & markdown website
			
Teadocs & markdown website Teadocs 是一款能够帮你快速构建html文档的工具,它基于nodejs编写,并使用markdown来编写文档内容. Teadocs ...
 - 多种转弯角度的PBN旁切转弯图例分析
			
无论世界怎样变化,我们依然是有点阳光就灿烂.面对世界的未知,最好的状态是勇敢的去面对,努力的去生活. 今天我们继续来聊一下PBN旁切转弯. PBN转弯保护区的结构通常都与它们的转弯角度大小有关,转弯角 ...
 - pytorch resnet实现
			
官方github上已经有了pytorch基础模型的实现,链接 但是其中一些模型,尤其是resnet,都是用函数生成的各个层,自己看起来是真的难受! 所以自己按照caffe的样子,写一个pytorch的 ...
 - 为什么ElasticSearch比MySQL更适合全文索引
			
熟悉 MySQL 的同学一定都知道,MySQL 对于复杂条件查询的支持并不好.MySQL 最多使用一个条件涉及的索引来过滤,然后剩余的条件只能在遍历行过程中进行内存过滤,对这个过程不了解的同学可以先行 ...
 - 线上CPU飙升100%问题排查
			
本文转载自线上CPU飙升100%问题排查 引子 对于互联网公司,线上CPU飙升的问题很常见(例如某个活动开始,流量突然飙升时),按照本文的步骤排查,基本1分钟即可搞定!特此整理排查方法一篇,供大家参考 ...