![](/img/trans.png)
[英]If you had an array of Strings, what is the quickest way to sort this array in ascending order?
[英]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.