java中文姓名排序_java中文排序
对中文名称进行排序,不多说,上代码
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中文排序相关推荐
- java冒泡遍历对象_Java经典排序算法(冒泡、选择、插入)
排序算法说明 排序说明 对一序列对象根据某个关键字进行排序. 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面: 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b ...
- java pinyin4j 官网_Java中文转汉语拼音类库pinyin4j使用示例
pinyin4j的java开源类库,提供中文转汉语拼音(并且支持多音字) pinyin4j官方网址:http://pinyin4j.sourceforge.net/ import java.util. ...
- java 8 排序_Java 八大排序实现
参考链接 本文只给出算法的Java实现版本,具体原理参考:八大排序算法. 公用代码 下面的swap()函数,是排序算法中经常用到的,单独贴出来. public void swap(int[] a, i ...
- java map按照key排序_java Map排序(按key和按value)
1.按照key排序 对于java中Map的排序,有排序Map,比如TreeMap,对于这个Map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲. 这种方案,使用h ...
- java怎么对作者名排序_Java 对象排序详解
很难想象有Java开发人员不曾使用过Collection框架.在Collection框架中,主要使用的类是来自List接口中的ArrayList,以及来自Set接口的HashSet.TreeSet,我 ...
- arraylist java 排序_Java ArrayList排序方法详解
由于其功能性和灵活性,ArrayList是 Java 集合框架中使用最为普遍的集合类之一.ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList 能够在 ...
- java对象排序_java对象排序(Comparable)详细实例
对象实现Comparable接口 package collections.sort.comparable; public class Field implements Comparable{ priv ...
- java 性能 排序_Java常用排序算法及性能测试集合
package algorithm.sort; import java.lang.reflect.Method; import java.util.Arrays; import java.util.D ...
- java list 排序_java list排序
java list 排序主要用到: Collections.sort方法: package com.tom.compare; import java.util.ArrayList; import ja ...
- java set排序_Java Set排序的方法
Java Set排序的方法 Set中TreeSet 本身就是有序的元素,那么下面重点介绍下HashSet的2种排序方法. 1. 把HashSet保存在ArrayList里,再用Collections. ...
最新文章
- 在抖音推荐算法组工作的体验
- 实时分布式搜索引擎比较(senseidb、Solr、elasticsearch)
- Kernel Memory Layout on ARM Linux
- ROS在类中发布和接受消息(自定义消息)
- CSS文本溢出的处理方法总结
- NWA Quality Analyst应用案例:在食品加工中选择和实施SPC软件
- MAC表和ARP表的老化时间:
- Pandas 之DataFrame二维表基础操作及演示
- G1调优实践日记--G1HeapWastePercent和InitiatingHeapOccupancyPercent的应用
- S/MIME电子邮件签名证书
- Web 3 大会 | 伍鸣博士发表主题演讲
- 2023款16英寸苹果MacBook Pro续航实测
- nRF52832 — 串口BLE例程逐行解析【转载】
- NVIDIA GPU 计算能力
- MySQL~Java的数据库编程:JDBC(JDBC的环境配置以及使用)
- 如何安装与配置JDK
- DC故障,在使用缓存登录的错误理解的解释
- torch-scatter, torch-cluster, torch-sparse, torch版本对应,cuda
- Nacos学习日记6-基于Springboot框架的Nacos服务注册报错:Application run failed
- 最新 解决 VMware 虚拟机 中被提示 Sorry, this application cannot run under a Virtual Machine