导入和比较java中的两个文本文件

时间:2013-11-24 22:46:13

标签: java list input comparison

我在java中导入两个文本文件,一个包含多个购物清单,另一个包含我不想要的杂货项目列表。

我需要将各种购物清单分开并扫描它们,看看它们是否包含我不想要的东西列表中的任何项目。如果购物清单包含禁止列表中的一个或多个项目,我需要将此购物清单移动到垃圾文件夹,但不包含任何单词的列表必须保留。因此,我需要单独检查每个列表。

我不知道如何分开购物清单以便单独检查。我也不知道如何检查导入的禁止列表与其他购物清单。

感谢。

列表由单词“Finish”分隔,显示为列表中的最后一行。我使用了分隔符并将Finish设置为我的模式,但我不知道这是否有效。我知道如果输出它们,它会在物理上将它们分开,但我不知道是否这使它们成为我可以单独扫描的独立实体。

2 个答案:

答案 0 :(得分:0)

我不知道杂货清单是如何格式化的,所以我无法帮你分开它们。如果列表用空行分隔,那么当你调用readLine()时,如果返回的值为isEmpty(),则启动一个新列表。

至于比较这两个列表,我会将禁止列表中的每个项目放入禁止的HashSet中,当您在新的购物清单中阅读时,如果您阅读的任何项目也在HashSet中,则删除列表。

我在这里选择一个HashSet,因为每个插入HashSet的插入对于列表中的每个项都将重复O(1),这使得总插入为O(n)然后从列表中获取项将是O(1)对于新列表中的每个项目将重复这一项,使得总比较为O(n)。总体而言,整个算法是O(n),这不是破旧的。

答案 1 :(得分:0)

Java Compare Two Lists<<<您可以看到如何比较ArrayList或Hashset中的项目。