java中文排序
2016-04-21 15:33
337 查看
对中文名称进行排序,不多说,上代码
打印结果:
中文名称正序排列:
2,李四
3,王五
1,张三
4,赵六
---------------神奇的分割线--------------------
中文名称倒序排列:
4,赵六
1,张三
3,王五
2,李四
---------------神奇的分割线--------------------
中文名称倒序排列:
4,赵六
1,张三
3,王五
2,李四
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<Person>{ 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<Person> list = new ArrayList<Person>(); 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-XML文件处理
- JAVA THREAD.JOIN方法详解
- java反射机制总结
- struts上传和下载
- Spring 实现远程访问详解——jms和activemq
- Java比较器对数组,集合排序一
- 理解Java中的IO
- 浅析Spring中的注解
- alien rpm deb,ubuntu下安装jdk过程及遇到的问题
- HBASE 常用JAVA API使用指南
- 排序中的归并排序Java
- java 无重复取随机数
- spring的BeanFactory原理模拟
- 大整数相乘------java实现
- java Exception的限制
- 利用java反射机制比较同一个bean的两个对象的值是否相同
- eclipse制作app入门教程
- Java中数据库连接池原理机制的详细讲解以及项目连接数据库采用JDBC常用的几种连接方式
- Spring 实现远程访问详解——webservice
- restTemplete webService in spring