gpt4 book ai didi

随着时间的推移,Java 访问数组列表中的元素会变慢

转载 作者:行者123 更新时间:2023-12-01 07:50:52 25 4
gpt4 key购买 nike

我有一些代码,我注意到随着时间的推移,迭代 ArrayList 的进度变得非常慢。似乎导致问题的代码如下:

public boolean isWordOfficial(String word){
return this.wordList.get(this.stringWordList.indexOf(word)).isWordOfficial();
}

在访问两个数组列表方面,这段代码是否有我不知道的地方?

最佳答案

我不知道您的 ArrayList 性能变得太慢的确切原因或程度,但快速浏览一下您的用例,您正在执行以下操作:

  • 给定一个字符串word,在stringWordList中查找它,并返回数字索引
  • 在该索引处包含的 wordList 中查找单词并返回

这种使用模式最好由 Map 提供,其中键是输入单词,可能对应于 stringWordList 中的条目code>,并从 wordList 输出另一个单词。

与列表中查找的 O(N) 操作相比, map 查找将是一个 O(1) 操作。

关于随着时间的推移,Java 访问数组列表中的元素会变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37959169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com