LinkedHashSet无法从ArrayList中删除重复的句子

时间:2015-12-14 19:41:15

标签: java android regex linkedhashset

我正在构建一个android / Java程序,它从文本文件中读取并将文本文件中的每个句子存储在数组列表中。然后它检查句子中每个单词的出现,并打印出包含重复单词的所有句子。

这是我用来打印最终结果的代码:

{{1}}
  1. 我的程序首先读取一个文本文件,然后将我的文本文件中的每个句子存储在一个名为"句子"的句子列表中。

  2. 然后它会读取文本文件中的每个单词,并在一个名为" key"的数组列表中存储多次重复的单词。

  3. 然后检查"键"存在于每个句子中,如果存在,则将这些句子添加到名为" lhs"的LinkedHashSet中。

  4. 然后它应该在输出屏幕上显示LinkedHashSet中的所有句子。

  5. 在这种情况下,我的"键"是"率","州"和#34;政府"

    但是,我的文本文件中包含以下句子:"十三个州报告的失业率高于当前的全国税率。"

    正如您所看到的,它包含"状态"和"率"这是我的两个关键字。

    当我运行此程序时,此特定句子在输出屏幕上出现两次,因为程序会查找每个"键"因此它认为它们是两个不同的句子。

    这就是为什么我使用LinkedHashSet来阻止它,但它仍然在输出屏幕上显示这句话两次。

    我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

每次该单词与句子匹配时,您都在创建一个新的LinkedHashSet实例。

试试这个:

task doSomething(type:Exec){
    workingDir 'scripts'
    commandLine 'Python3','playGuitar.py'
}

preBuild.dependsOn(doSomething)