0
我正在寫一個JAVA程序來搜索Excel文件中的字符串並提取包含此特定字符串的行。我發現所有相關的方法都是逐個查看所有行,並使用.contain()方法來判斷此行是否包含字符串。但問題是:如何快速搜索Excel文件中的字符串
a。有大量的字符串匹配。
b。 Excel文件非常大。
所以我很好奇,是否有快速搜索Excel文件中的字符串而無需迭代每一行?非常感謝!
我正在寫一個JAVA程序來搜索Excel文件中的字符串並提取包含此特定字符串的行。我發現所有相關的方法都是逐個查看所有行,並使用.contain()方法來判斷此行是否包含字符串。但問題是:如何快速搜索Excel文件中的字符串
a。有大量的字符串匹配。
b。 Excel文件非常大。
所以我很好奇,是否有快速搜索Excel文件中的字符串而無需迭代每一行?非常感謝!
搜索算法通常在未預排序的列表上具有O(n)的性能。如果沒有關於您正在搜索的Excel文件的信息,則沒有比O(n)更好的最壞情況性能的算法。
所以,這意味着,無論如何,遍歷每一行,直到找到被禁用的行是必要的。如果你想提高性能,你可以嘗試使用並行,例如的MapReduce:https://en.wikipedia.org/wiki/MapReduce
在VBA,一會讀取整個範圍到一個數組(單步,速度非常快),然後通過數組迭代,可能使用'For Each ...'和'Instr'來查找字符串的存在。也可以使用'Range.Find'方法,但對於非常大的文件可能會變慢。有什麼相當於你可以在JAVA中使用? –
@RonRosenfeld謝謝,但我還沒有找到...... – beepretty