类似qq的汉字拼音首字查询

一个demo,大概思路是这样:用Properties的load()来加载一个固定格式的文本文件注1,然后直接当Hashtable用。
package org.navyblue.tests;

import java.util.*;

/**//**
 *
 * 类似qq的汉字拼音首字查询方法
 * by zqc 2005-08-04
 *
 ***/
public class pyTest
{
    public pyTest(){}
   
    public static void main(String[] args)throws Exception{
        Properties pyMap = new Properties();
        //拼音隐射表
        pyMap.load(new java.io.FileInputStream("pyutf.txt"));
        //测试字符
        String[] testStr = {"我们","阿哈","嘎嘎","干什么","郑晴川","谁"};
        //模拟输入
        String input = "g";
       
        System.out.println ("输入查询字符:g");
        Vector inis = new Vector();
        Vector results = new Vector();
        Vector results2 = new Vector();
       
        //返回所有测试字符串的首字的打头拼音
        for( int i =0 ; i < testStr.length ; i++ ){
            String ini =new String( new char[] { testStr[i].charAt(0)} );
            String k = (String)pyMap.get(ini);
            results.add(k);
            results2.add(testStr[i]);
        }
       
        //输出结果
        int l = results.size();
        for(int i = 0 ; i < l ; i++){
            String c = (String)results.get(i);
            if(c.equals(input)){
                System.out.println (results2.get(i));
            }
        }
    }
}

----
注1:这个映射文件系网上找来的,大约有14K的汉字量,一般也够用了~用文本工具对原先的格式做了些修改使它符合Properties的格式,然后再用native2ascii转成utf-8编码。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值