假设现在我有 啊 阿 埃 挨 哎 唉 哀 皑 癌 蔼 矮 艾 碍 爱 隘 这写汉字,而这些汉字都是以拼音字母 a 开头的,我想要目的就是能不能先把这些字放入到内存中,然后很快的将其读取出来,最后达到的效果为:
System.out.print(xxx.get("啊"));输出的结果就为 a
System.out.print(xxx.get("啊"));输出的结果就为 a
解决方案 »
- 求韩顺平满汉楼完整的源代码
- Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
- 小问题
- 关于JRE和JDK进一步的问题
- JAVA如何提取数据库里各个表的当天的记录(假设1个库里各个表的时间的字段名不一定)
- JSF UploadedFile 中 _file.getName()的到的是什么编码来的,怎么换成中文...?谢谢..
- 问一个很菜的问题,不要笑我...
- 今天遇到一个问题(不懂的就不要回答!)
- JB里,怎样向表插入数据行?
- 如何关闭while循环中的输入流
- java se
- 疑惑,一个方法同步了为什么中间还有yield让步
Map<String,String> map = new Hashmap<String,String>()
map.put("啊","a");
.....public String getPinYing(String hanzi)
{
return map.get(hanzi);
}
public class MapDemo { // key -> 汉字 value -> 拼音 根据汉字找拼音 用这个map
Map<String , String> map1 = new Hashtable<String , String>();
// key -> 拼音 value -> 汉字 根据拼音找汉字用这个map
Map<String , List<String>> map2 = new Hashtable<String , List<String>>(); public void putMap1(String key , String value){
map1.put(key, value);
} public void putMap2(String key , String... values){
if(map2.get(key) == null)
map2.put(key, new Vector<String>() );
for (String value : values)
map2.get(key).add(value);
}
public void init(){
//给map1添加数据
putMap1("啊", "a");
putMap1("你", "ni");
putMap1("我", "wo");
putMap1("他", "ta");
//给map2添加数据
putMap2("a", "啊");
putMap2("a", "阿");
putMap2("a", "吖");
putMap2("e", "额");
putMap2("e", "饿");
putMap2("e", "の");
putMap2("e", "俄");
putMap2("ni", "你" , "拟" , "呢");
}
public static void main(String[] args) {
MapDemo md = new MapDemo();
md.init() ;
System.out.println(md.map1.get("你"));
System.out.println(md.map2.get("a"));
System.out.println(md.map2.get("e"));
System.out.println(md.map2.get("ni"));
}
}