簡體   English   中英

在數組中存儲和訪問字符串的最快方法

[英]Quickest way of storing and accessing Strings in an array

我知道我可以經歷這樣的for循環(請參見代碼),並且我也可以以相同的方式添加到數組中,但是有一種更快的方法。 我不想使用任何其他Java API,因為我想練習數組。 使用哈希函數可以讓我更快地存儲變量,然后更快地找到某個單詞嗎?

編輯:問題是當使用10,000+個單詞時,延遲增加大於1ms

謝謝 :)

int count = 0;
for(int i = 0; i < array.length; i++)
    if(array[i].equals(word)) 
        count++;

您可以使用二維數組:

數組[字母] [以該字母開頭的單詞]

您可以對數組進行預排序,然后在其上使用二元搜索。 這僅在您要查找許多單詞時才有用。

如果允許其他結構,則通常可以實現O(1)查找時間。

每當處理10,000個字時,您都可能會遇到一些延遲。 根據設置的單詞,您可能可以進行更好的過濾,但是就您的代碼而言,這是最好的過濾方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM