java - 如何查找文件中的子字符串是否已存在于 hashmap 中?

标签 java algorithm hashmap file-manipulation bimap

我有一个 hashMap(guava bimap),其中的键和值都是字符串,我想编写一个程序来解析给定的文件,并用 Bimap 中的相应值替换文件中也在 BiMap 中的所有字符串。

例如:我有一个名为 test.txt 的文件,其中包含以下文本 Java 是由 Sun Microsystems 开发的一组计算机软件和规范。

我的 BiMap 有 “java i”=>“value1” "everal computer"=> "value2" 等..

所以现在我希望我的程序将 test.txt 和 Bimap 作为输入并给出一个看起来像这样的输出

value1s a set of svalue2 software and specifications developed by Sun Microsystems.

请指出任何可以做到这一点的算法,该程序将大文件作为输入,因此暴力破解可能不是一个好主意。

编辑:我对键和值使用固定长度的字符串。 该示例只是为了显示操作。 谢谢。

最佳答案

对于像这样的批处理操作,我会避免将大量数据放入内存中。因此,我建议您将新内容写入新文件。如果最后的文件必须是完全相同的文件,您仍然可以在过程结束时用一个文件替换另一个文件。分别读取、写入和刷新每一行,你不会有任何内存问题。

关于java - 如何查找文件中的子字符串是否已存在于 hashmap 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29795600/

相关文章:

java - 带有 c 规则的 Mullers 方法总是打印 NaN

java - 为什么 HashMap get() 方法在修改插入的对象后返回 null?

java - 使用parent.setChilds(null)显式删除子项

java - androidfragment - 如何膨胀布局然后制作UI功能

用于计算圈复杂度的Java工具

Java HTTP/HTTPS 从不同服务器中的应用程序 1 发送到应用程序 2

java - 快速计算大型密集二维矩阵中的二维子矩阵?

返回矩阵的 C++ 值 vector

java - 在 JSP 中获取 Map<String, List<String>> 中列表的第一个元素

具有多个值的 Java hashmap