我知道我可以通过这样的for循环(参见代码),我也可以以相同的方式添加到数组,但有更快的方法。我不想使用任何其他Java API,因为我想练习数组。使用哈希函数是否允许我更快地存储我的变量,然后更快地找到某个单词?
编辑:问题是当使用10,000+个单词时,延迟增加大于1ms
谢谢:)
int count = 0;
for(int i = 0; i < array.length; i++)
if(array[i].equals(word))
count++;
答案 0 :(得分:1)
您可以使用二维数组:
数组[字母] [以该字母开头的单词]
答案 1 :(得分:1)
您可以预先对数组进行排序,然后对其进行二进制搜索。只有在寻找许多单词时,这才有用。
如果您允许其他结构,那么通常可以实现O(1)
查找时间。
答案 2 :(得分:0)
每当您处理10,000字时,您可能会遇到一些延迟。根据设置的单词,您可以更好地过滤,但只要您的代码显示这是最好的方法。