汉字排序问题例子

来源:互联网 发布:依云软件破解 编辑:程序博客网 时间:2024/06/10 08:24
package test.HanziPaixu;import java.text.Collator;import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.Collections;class Person{private int id;private String name;public Person(int id, String name) {super();this.id = id;this.name = 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;}@Overridepublic String toString(){return  this.id + " " +  this.name;}};/** * @Title:             SortChineseName.java * @Description:    中文字符排序 * @Function:       中文字符排序 * @Copyright:      Copyright (c) 2012-11-19 * @Version         0.1 * 该接口用于对象与对象间的比较,返回值意味着这两对象之间的大小关系。 * -1代表前者小,0代表两者相等,1代表前者大。 */class SortChineseName implements Comparator<Person>{        //这句话是关键Collator cmp = Collator.getInstance(java.util.Locale.CHINA);@Overridepublic 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;}};public class HanziPaixuTest { public static void main(String args[]){          List<Person> list = new ArrayList<Person>();          Person p = new Person(1,"安全");          list.add(p);          p = new Person(2,"保罗");          list.add(p);          p = new Person(3,"秋思");          list.add(p);          p = new Person(4,"本司");          list.add(p);          //正序          Collections.sort(list, new SortChineseName());          System.out.println("中文名称从小到大正序排列:");          for (Person pp:list){            System.out.println(pp);          }          //倒序          Collections.reverse(list);          System.out.println("中文名称从大到小倒序排列:");          for (Person pp:list){              System.out.println(pp);          }        Collections.sort(list,Collections.reverseOrder(new SortChineseName()));          System.out.println("中文名称倒序排列:");          for (Person pp:list){              System.out.println(pp);          }      }  };
0 0
原创粉丝点击