按照汉字拼音排序

博客展示了Java代码实现拼音排序的方法。定义了PinYinComparator类实现Comparator接口,在compare方法中处理字符串编码转换并比较。还创建了Tester类,使用ArrayList存储汉字,调用Collections.sort方法结合自定义比较器进行排序并输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. import java.util.Comparator;
  2. public class PinYinComparator implements Comparator {
  3.   public int compare(Object o1, Object o2) {
  4.     try {
  5.       String s1=new String(o1.toString().getBytes("GB2312"),"ISO-8859-1");
  6.       String s2=new String(o2.toString().getBytes("GB2312"),"ISO-8859-1");
  7.       return s1.compareTo(s2);
  8.     }
  9.     catch (Exception e) {
  10.       e.printStackTrace();
  11.     }
  12.     return 0;
  13.   }
  14. }


测试类:
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. public class Tester {
  4.   public static void main(String[] args) {
  5.     ArrayList list=new ArrayList();
  6.     list.add("啊");
  7.     list.add("包");
  8.     list.add("从");
  9.     list.add("随");
  10.     list.add("其");
  11.     list.add("在");
  12.     list.add("平");
  13.     list.add("人");
  14.     list.add("他");
  15.     list.add("以");
  16.     list.add("和");
  17.     list.add("就");
  18.     list.add("可");
  19.     list.add("了");
  20.     list.add("没");
  21.     list.add("额");
  22.     list.add("分");
  23.     list.add("个");
  24.     Collections.sort(list,new PinYinComparator());
  25.     for (int i=0;i<list.size();i++) {
  26.       System.out.println(list.get(i));
  27.     }
  28.   }
  29. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值