【发布时间】:2011-03-08 23:19:27
【问题描述】:
我有一个巨大的数组列表,其中包含 1000 个条目,其中一个条目是“世界”。而且,我有一个词“大世界”。我想在arraylist中得到与“world”匹配的“big world”这个词。
最经济有效的方法是什么?我不能使用数组列表的 .contains 方法,如果我遍历所有 1000 个条目并通过模式匹配它们,那么在性能方面将非常昂贵。我正在为此使用 Java。
您能告诉我什么是最好的方法吗?
干杯, J
【问题讨论】:
-
定义“松散”匹配。一个字符串必须是另一个字符串的子串吗? “心”和“耳”会匹配吗?这些是英文单词/短语吗?如果我们要求你摆脱 ArrayList,你能做到吗?
-
是的,你的权利! “心”字与“耳”相配。我可以灵活地使用任何类型的数据结构!
-
再澄清一点:1000 个字符串的集合是静态的吗?您究竟想如何进行子字符串匹配?给定一个单词 U,你想在数组列表中找到一个单词 V,使得 V 是 U 的子串?如果 U 是其他 V' 的子字符串,那也是匹配吗?