是否有任何快速算法在字符串的Arraylist中搜索特定的字符串?搜索一組字符串包含Java中的ArrayList中的特定字符串
例如:
我有一個ArrayList:
{"white house","yellow house","black door","house in heaven","wife"}
而想要搜索字符串包含 「家」。 它應該在最短時間內返回{"white house","yellow house","house in heaven"}
。 我的意思是我的問題是處理沒有索引的大數據(大約167000個字符串的列表)。
謝謝!
*「但在最短的時間內」*無論你做什麼,這將是O(n) –
真正加快它的唯一方法是按字符數或最大的單詞對列表進行排序。那麼你可以忽略所有字符少的字符,比如「老婆」。否則,你真的不能做太多事情。您可以更快地搜索數字列表的唯一原因是因爲它們很容易訂購。沒有簡單的方法來訂購你的清單。 – BobbyD17
@ BobbyD17我敢打賭,我可以通過一個線程池加速它;)(這並不會改變複雜性,請介意) –