gpt4 book ai didi

java - "||"和循环哪个更有效?

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

假设您必须从数组列表中编辑一系列单词(“cat”,“dog”,“catdog”,“mandog”)

现在您可以将其放入 for 循环中,如下所示

 for(int i=0; i<arraylist.size(); i++){
if(arraylist.get(i).matches("cat") || arraylist.get(i).matches("dog") etc.. etc..
{
//do something
}
}

或者您可以将单词(cat、dog、catdog 和 mandog)放入字符串数组/数组列表中,并使用它进行比较。

哪个效率更高?

考虑到单词列表可能会很大。

感谢您的帮助。

最佳答案

两者的性能差异都可以忽略不计,它们在时间上与关键字列表的大小呈线性关系。

考虑到单词列表可能会变得相当大,您应该使用Set。一个HashSet可以在恒定时间内执行 contains 检查,使其非常适合此目的。所以:

Set<String> keywords = new HashSet<>();

keywords.add("cat");
keywords.add("dog");
// ...

for (String element: arraylist) {
if (keywords.contains(element)) {
// Do something
}
}

请注意,使用 matches 实际上与使用 equals 相同,因此我们可以简单地测试是否相等。

关于java - "||"和循环哪个更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24536316/

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