【发布时间】:2013-04-09 05:44:54
【问题描述】:
我想比较提供的字符串是否以数组中的任何字符串开头。最简单的解决方案是:
String b = ...;
boolean matched = false;
for (String a : array) {
if (b.startsWith(a))
match = true;
}
但是,直观地说,我想使用类似 trie 的东西来提高效率,因为字符串数组可能会变得非常大,我需要快速运行这些匹配。我可以保证这些字符串都是按字母顺序排列的。我还可以保证数组中的所有字符串的长度都为 2 或更少。在 Java 中实现这种类似 trie 的结构的最佳方法是什么?我找不到任何可以执行此操作的基于 Java 的库。
谢谢!
【问题讨论】: