2013-11-24 50 views
0

我在java中導入兩個文本文件,一個包含多個購物清單,另一個包含我不想要的雜貨項目列表。在java中導入和比較兩個文本文件

我需要分開各種購物清單並掃描它們中的每一個,看它們是否包含我不想要的東西列表上的任何項目。如果購物清單包含禁止列表中的一個或多個項目,則需要將此購物清單移至垃圾文件夾,但不包含任何單詞的列表必須保留。因此我需要單獨檢查每個列表。

我不知道如何分開購物清單以單獨檢查它們。我也不知道如何查看其他購物清單上的禁止進口清單。

謝謝。

列表以單詞「Finish」分隔,顯示爲列表中的最後一行。我使用了分隔符並將Finish設置爲我的模式,但我不知道這是否有效。我知道如果我輸出它們,它會將這些列表物理地分開,但我不知道這是否使它們成爲可以單獨掃描的獨立實體。

回答

0

我不知道如何格式化購物清單,所以我不能幫你分開它們。如果列表以空行分隔,則當您調用readLine()時,如果返回值isEmpty(),則啓動一個新列表。

就比較兩個列表而言,我會將禁止列表中的每個項目放入禁止的HashSet中,並且當在新的購物清單中閱讀時,如果您閱讀的任何項目也位於HashSet中,則垃圾清單。

我在這裏選擇一個HashSet,因爲每個插入到HashSet中的O(1)對於列表中的每個項目重複O(n),那麼從列表中獲得一個項目將是O(1) ),這將在新列表中的每個項目中重複,總的比較結果爲O(n)。總體而言,整個算法是O(n),它不是破舊的。