你的代码有效率低下的问题,但是你必须在一天结束时搜索包含单词的句子,才能跳出循环。
也就是说,有几件事需要尝试。
首先,将WORDS设为HashSet。 contains方法比ArrayList快得多,因为它通过散列搜索获取值。
接下来,切换逻辑的感觉有点像:
iteratorsentenceiterator=sentences.iterator (;
感测loop :
wile(sentenceiterator.Hasnext () ) ) ) ) ) ) )。
{
string sentence=sentence iterator.next (;
for (string word : sentence.replace all ((p { p } )、() ) ).to lower case (.split ) )s ' )
{
if(Words.contains(Word ) )
{
sentenceIterator.remove (;
连续敏感环路;
}
}
}
使用此代码(如果尝试删除包含特定单词的语句)迭代器,而不使用原始代码的字符串连接和分析逻辑(替换为正则表达式)应该更快。
但是,请记住,就像所有的表达一样,需要测试这些变化,看看它是否可以改善。