龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java编程中怎样实现中文排序

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
第一种情况: Comparatorcmp=Collator.getInstance(Java.util.Locale.CHINA); String[]arr={"张三","李四","王五","刘六"}; Arrays.sort(arr,cmp); for(inti=0;iarr.length;i++) System.out.println(arr[i]); 第二种情况: //ComparableB
 第一种情况:
  
  
  1.                   Comparator cmp = Collator.getInstance(Java.util.Locale.CHINA);
  2.         
  3.         String[] arr = { "张三", "李四", "王五", "刘六" };
  4.         Arrays.sort(arr, cmp);
  5.         for (int i = 0; i < arr.length; i++)
  6.             System.out.println(arr[i]);

  
  第二种情况:
  
  //ComparableBean.java
  import java.text.CollationKey;
  import java.text.Collator;
  import java.text.RuleBasedCollator;
  import java.util.Comparator;
  
  public class ComparableBean{
      private String name;
      
      public ComparableBean(String name) {
          
          this.name = name;
      }
  
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  }
  class ComparableBeanComparator  implements Comparator//<ComparableBean>
  {
      RuleBasedCollator collator; // you can set your rules for the instance "collator"
      public ComparableBeanComparator()
      {
          collator = (RuleBasedCollator)Collator.getInstance(java.util.Locale.CHINA);// try testing various locales
      }
      public int compare(Object obj1, Object obj2) {
          String tempname1 = ((ComparableBean) obj1).getName();
          String tempname2 = ((ComparableBean) obj2).getName();
          
          CollationKey c1 = collator.getCollationKey(tempname1);
          CollationKey c2 = collator.getCollationKey(tempname2);
  
  
精彩图集

赞助商链接