java - 在java中使用哈希码比较两个大字符串?

标签 java arrays file hash

我正在读取两个文件,在这两个文件中都找到了一些行。我需要编写一个函数来检测在两个文件中找到哪些行。现在我为此编写了代码,它将读取文件 1 的内容并将记录放入数组列表中,然后读取文件 2,对于文件 2 中的每一行,我检查是否在数组列表中找到它,如果找到,我知道它是一个重复行。现在我的问题是我在数组列表中保存整行,我想知道是否可以将我读取的行转换为哈希码,然后我将这个哈希码保存到数组列表中,之后,我将这个哈希码与我从 file2 读取的行的哈希码,这是节省内存的更好方法吗?

最佳答案

如果两个哈希码不同,则行不同。如果两个哈希码相同,则行可能相同也可能不同。

如果您将文件存储在 HashSet 中,查找一行是否已经存在是一个非常快的操作。 HashSet 在内部使用哈希码。

关于java - 在java中使用哈希码比较两个大字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7674761/

相关文章:

java - Java 中的 RSS 提要 URL 验证

javascript - 请解释一下这个函数.reduce是如何工作的

file - 网盘的 Camel 文件组件

file - GNU radio 文件接收器如何工作?

java - 如何读取扩展名为*.xlsx的Excel文件?

java - 正则表达式从 00001 到 99999

java - 在 Java 中使用 Atmosphere 传输

Java 扑克牌评估器无法正常工作

ruby - 如何对两个数组进行逐元素比较?

java - Filewriter 创建一个只读文件