where the amazing happens

类似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();
        
        
//返回所有测试字符串的首字的打头拼音
        forint 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编码。



2005年8月8日 0:48:54

posted on 2005-08-08 00:59 where the amazing happens 阅读(1037) 评论(4)  编辑  收藏 所属分类: 一般应用

评论

# re: 类似qq的汉字拼音首字查询 2005-08-08 08:27 zeno

速度怎么样? 可以介绍一下么  回复  更多评论   

# re: 类似qq的汉字拼音首字查询 2005-08-08 12:02 鸟不生蛋蛋的地方

Hashtable读出来后就一直常驻在内存里,等访问的时候调用,所以速度应该不慢.  回复  更多评论   

# re: 类似qq的汉字拼音首字查询 2006-04-23 04:28 鸟不生蛋蛋的地方

哦,后来才知道,可以根据unicode编码地址来找,更准确更全面.  回复  更多评论   

# 2010.1月.28日 2010-01-29 10:38 贺森

既然,我们遇见了.就好好珍惜彼此吧,请你相信我,对你所做的一切 很用心,很用心.希望你我都不是对方人生中的过客.多希望创造一个美好的结局  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

点击这里给我发消息

导航

<2010年1月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(3)

随笔分类(18)

随笔档案(17)

文章分类

相册

其他我的blog

技术Blog

最新随笔

搜索

最新评论

阅读排行榜

评论排行榜