是否可以使用双 while/for 循环读取文本文件?
我想做这样的事情:
for( String row1 = 0; row1 < file.length; row1++ ) {
for( String row2 = row1 + 1; row2 < file.length; row2++ ){
if( file[row1] == file[row2] ){
// other code
}
}
}
我需要一个双循环,因为我必须在包含 2.500.000 行的文件中找到重复行。 我无法使用 Set 来保存行,因为堆大小不足,如果我尝试增加堆大小,则会收到此错误:“VM 初始化期间发生错误 无法为对象堆保留足够的空间 无法创建 Java 虚拟机..”(我有 Windows 7 64 位和 8 GB RAM)
提前致谢
最佳答案
对原始文件进行排序(您可以将其拆分并使用合并排序)。然后迭代地查找重复项(如果 prev == cur,则您已找到重复项)。
关于java - 双 while 循环读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891627/