对中文名称进行排序,不多说,上代码

package test;

/**

* @Title: Person.java

* @Copyright: Copyright (c) 2012-11-19

* @Author : zhangzhao

* @Version 0.1

*/

public class Person{

private int id;

private String name;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

}

package test;

import java.text.Collator;

import java.util.Comparator;

public class SortChineseName implements Comparator{

Collator cmp = Collator.getInstance(java.util.Locale.CHINA);

@Override

public int compare(Person o1, Person o2) {

if (cmp.compare(o1.getName(), o2.getName())>0){

return 1;

}else if (cmp.compare(o1.getName(), o2.getName())<0){

return -1;

}

return 0;

}

}

package test;

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

public class TestBean {

public static void main(String args[]){

List list = new ArrayList();

Person p = new Person();

p.setId(1);

p.setName("张三");

list.add(p);

p = new Person();

p.setId(2);

p.setName("李四");

list.add(p);

p = new Person();

p.setId(3);

p.setName("王五");

list.add(p);

p = new Person();

p.setId(4);

p.setName("赵六");

list.add(p);

//正序

Collections.sort(list, new SortChineseName());

System.out.println("中文名称正序排列:");

for (Person pp:list){

System.out.println(pp.getId()+","+pp.getName());

}

System.out.println("---------------神奇的分割线--------------------");

//倒序

Collections.reverse(list);

System.out.println("中文名称倒序排列:");

for (Person pp:list){

System.out.println(pp.getId()+","+pp.getName());

}

System.out.println("---------------神奇的分割线--------------------");

Collections.sort(list,Collections.reverseOrder(new SortChineseName()));

System.out.println("中文名称倒序排列:");

for (Person pp:list){

System.out.println(pp.getId()+","+pp.getName());

}

}

}

打印结果:

中文名称正序排列:

2,李四

3,王五

1,张三

4,赵六

---------------神奇的分割线--------------------

中文名称倒序排列:

4,赵六

1,张三

3,王五

2,李四

---------------神奇的分割线--------------------

中文名称倒序排列:

4,赵六

1,张三

3,王五

2,李四

java中文姓名排序_java中文排序相关推荐

  1. java冒泡遍历对象_Java经典排序算法(冒泡、选择、插入)

    排序算法说明 排序说明 对一序列对象根据某个关键字进行排序. 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面: 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b ...

  2. java pinyin4j 官网_Java中文转汉语拼音类库pinyin4j使用示例

    pinyin4j的java开源类库,提供中文转汉语拼音(并且支持多音字) pinyin4j官方网址:http://pinyin4j.sourceforge.net/ import java.util. ...

  3. java 8 排序_Java 八大排序实现

    参考链接 本文只给出算法的Java实现版本,具体原理参考:八大排序算法. 公用代码 下面的swap()函数,是排序算法中经常用到的,单独贴出来. public void swap(int[] a, i ...

  4. java map按照key排序_java Map排序(按key和按value)

    1.按照key排序 对于java中Map的排序,有排序Map,比如TreeMap,对于这个Map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲. 这种方案,使用h ...

  5. java怎么对作者名排序_Java 对象排序详解

    很难想象有Java开发人员不曾使用过Collection框架.在Collection框架中,主要使用的类是来自List接口中的ArrayList,以及来自Set接口的HashSet.TreeSet,我 ...

  6. arraylist java 排序_Java ArrayList排序方法详解

    由于其功能性和灵活性,ArrayList是 Java 集合框架中使用最为普遍的集合类之一.ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList 能够在 ...

  7. java对象排序_java对象排序(Comparable)详细实例

    对象实现Comparable接口 package collections.sort.comparable; public class Field implements Comparable{ priv ...

  8. java 性能 排序_Java常用排序算法及性能测试集合

    package algorithm.sort; import java.lang.reflect.Method; import java.util.Arrays; import java.util.D ...

  9. java list 排序_java list排序

    java list 排序主要用到: Collections.sort方法: package com.tom.compare; import java.util.ArrayList; import ja ...

  10. java set排序_Java Set排序的方法

    Java Set排序的方法 Set中TreeSet 本身就是有序的元素,那么下面重点介绍下HashSet的2种排序方法. 1. 把HashSet保存在ArrayList里,再用Collections. ...

最新文章

  1. 在抖音推荐算法组工作的体验
  2. 实时分布式搜索引擎比较(senseidb、Solr、elasticsearch)
  3. Kernel Memory Layout on ARM Linux
  4. ROS在类中发布和接受消息(自定义消息)
  5. CSS文本溢出的处理方法总结
  6. NWA Quality Analyst应用案例:在食品加工中选择和实施SPC软件
  7. MAC表和ARP表的老化时间:
  8. Pandas 之DataFrame二维表基础操作及演示
  9. G1调优实践日记--G1HeapWastePercent和InitiatingHeapOccupancyPercent的应用
  10. S/MIME电子邮件签名证书
  11. Web 3 大会 | 伍鸣博士发表主题演讲
  12. 2023款16英寸苹果MacBook Pro续航实测
  13. nRF52832 — 串口BLE例程逐行解析【转载】
  14. NVIDIA GPU 计算能力
  15. MySQL~Java的数据库编程:JDBC(JDBC的环境配置以及使用)
  16. 如何安装与配置JDK
  17. DC故障,在使用缓存登录的错误理解的解释
  18. torch-scatter, torch-cluster, torch-sparse, torch版本对应,cuda
  19. Nacos学习日记6-基于Springboot框架的Nacos服务注册报错:Application run failed
  20. 最新 解决 VMware 虚拟机 中被提示 Sorry, this application cannot run under a Virtual Machine

热门文章

  1. 时频分析之短时傅里叶变换(STFT)
  2. 烽火fr2600怎么web登录_烽火R2600路由器配置步骤及脚本文件
  3. 从简单泛函到第二类拉格朗日方程
  4. 黑客攻击手段揭秘(转)
  5. 黑客入侵电脑网络四大步骤
  6. html如何让窗口不在任务栏显示,小编教你任务栏不显示打开的窗口怎么解决
  7. Linux下设置桌面快捷方式(应用图标快速启动)
  8. 最互联网的定制家居增长新势力,如何三招实现疫情期的逆势增长?
  9. 彻底凉了!全球最大电子书网站遭美政府封站
  10. aspnetpager使用介绍