java - 双 while 循环读取文本文件

标签 java

是否可以使用双 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/

相关文章:

java - REST - 应用层还是服务层?

java - 如何在velocity模板中包含jsp页面?

java - 无法删除旧的 javaCompile 操作,可能类名已更改

java - 循环外变量标记为 'DU' - PMD 中的异常

java - 为每个映射器加载相同的文件

java - 如何扩展 Spring 注解 @Transactional

java - 如何同时加载JSP页面并在json文件上写入数据?

java - 如何根据 POJO 中的另一个值更改变量的值?

java - Swing:如何禁止 JFrame/JDialog 之外的交互?

java - 如何访问证书扩展(信息)值?