减少循环中的执行时间

reduce execution time in loop

我有这样的代码:

  RandomAccessFile raf = new RandomAccessFile(new File("C:\Users\AhmadMaleki\IdeaProjects\Hello world\src\kish\file1"), "r");

for (int i = 1 ; i < 1025 ; i++)
        {
            for (int j = 0; j < raf.length() - 4 ; j++)
            {
                raf.seek(j);
                byte[] b = new byte[5];
                raf.read(b);

                if (new String (b).equals(wordcount[i]))
                {
                    z[i]++;
                }
            }
        }

在此代码中 raf.length() = 26841039,执行时间为 4100 分钟。 是否有减少 运行 时间的解决方案?(例如多线程、并行、....)

首先切换你的循环,这样你就不会读取同一个文件 1024 次。

for (int j = 0; j < raf.length() - 4 ; j++){
    for (int i = 1 ; i < 1025 ; i++){
      // Do your things here ... 
    }
}

然后明智地选择您的输入流。