0

我正在使用 java 中的包 pinyin4j 将单个汉字转换为罗马字母(拼音)。但是,这通常会为一个字符产生多个拼音(同一个字符有不同的发音)。比如说,字符 C1 转换为 2 种拼音形式 p1 和 p2,字符 C2 转换为 3 种拼音形式,q1,q2,q3。

当我将 C1C2 组合成一个单词时,它会产生 2*3=6 个组合。通常只有其中一个是真实的单词。我想根据我构建的词典文本文件检查这些组合,许多行以 \w 开头,这是一个词条条目(例如,在词典中只能找到 6 个组合中的 p1q2 )。我正在考虑将词典文件读入哈希集。但是我不确定如何最好地实施整个过程。有什么建议么?

4

1 回答 1

1

HashSet 看起来还不错。如果词典非常大并且您必须超快,请考虑使用 Trie 数据结构。但是, Java 中没有实现。

于 2013-03-31T22:00:07.007 回答