java - 从一百万个单词的列表中获取子字符串的数量

标签 java

我正在尝试获取 java 中百万单词列表中存在的子字符串的数量。循环遍历每个字符串以检查前一个值是否包含下一个值似乎存在重大性能问题。如果单词数较少,它可以很好地工作,但是当涉及到一百万个单词的巨大列表时,需要很长时间才能返回计数。有人可以告诉我最快的方法吗?

最佳答案

我想你可以在2N时间内得到它。

  1. 循环抛出所有列表并将字符串连接成一个或将其逐行放入文件或某物中。您可以获得包含所有单词的 ONE_BIG 字符串。如果字符串太大,请使用文件并通过unix运行regexp。
  2. 循环抛出所有单词,并对 ONE_BIG 上的单词使用正则表达式并对其进行计数。

这是我的简单想法。但也许有人有更好的。我怀着好奇心等待着。

关于java - 从一百万个单词的列表中获取子字符串的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21649959/

相关文章:

java - 我有一个需要 Class<T> 的 api 函数 - 如何为其提供 List<String> 的类?

java - 为什么使用保留 fragment 来通过配置更改来保持状态?

java - 如何让动画在 JAVA 中通过键盘输入运行?

java - 永久缓存文件直到修改的 HTTP header

java - Dao实现中如何进行以下操作?

java - 生成代码时遇到 if 和 while 循环问题

java - 如何确保 thrift 对象向后兼容?

java - 如何使用 JPA 2.0 急切加载惰性字段?

java - 如何使用 servlet/jsp/javabeans 以非常简单的注册表形式存储用户名和密码?

java - 为我们其他人提供开源代码共享和依赖管理 Java