我有一個這樣的代碼:減少執行時間在循環
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分鐘。 是否有減少運行時間的解決方案?(例如多線程,並行,....)
歡迎來到Stack Overflow。這個網站實際上應該是代碼不起作用。你想要[代碼評論](https://codereview.stackexchange.com/)。 – Michael
這很可能是可以優化的。作爲一個例子,我真的懷疑你需要讀取1024次的文件。相反,您可能需要一次掃描一遍,構建一些結構來保存數據並對其進行操作。 – Thomas
繼續我懷疑你需要使用RandomAccessFile。連續閱讀的速度更快。 –