【发布时间】:2014-07-02 16:23:30
【问题描述】:
假设您必须从 arraylist("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)放入字符串数组/arraylist 并使用它进行比较。
哪个效率更高?
考虑到单词列表可能非常大。
感谢您的帮助。
【问题讨论】:
-
更高效的是将
arrayList.get(i)操作从if中拉出来,所以它只被评估一次。 -
我怀疑它会产生很大的不同。代码可读性在这里更重要:你不想要一个巨大的 if 语句,明确地将 .get(i) 与每个单词进行比较
-
两者都不是。将单词放在一个集合中,看看
arraylist.get(i)是否在集合中。 -
另外,在不使用正则表达式时使用
matches()也不是最明智的做法。 -
您想对这些字符串执行什么类型的操作?
标签: java if-statement for-loop performance