我试图从两个文件读入并将它们存储在两个单独的arraylists中.这些文件由一行中的单词或由逗号分隔的多个单词组成.我用以下代码读取每个文件(不完整):
ArrayList<String> temp = new ArrayList<>();
FileInputStream fis;
fis = new FileInputStream(fileName);
Scanner scan = new Scanner(fis);
while (scan.hasNextLine()) {
Scanner input = new Scanner(scan.nextLine());
input.useDelimiter(",");
while (scan.hasNext()) {
String md5 = scan.next();
temp.add(md5);
}
}
scan.close();
return temp;
Run Code Online (Sandbox Code Playgroud)
我现在需要读取两个文件并删除第一个文件中的所有单词,这些单词也存在于第二个文件中(文件中有一些重复的单词).我尝试过for循环和其他类似的东西,但没有任何工作,所以任何帮助将不胜感激!
奖金问题:我还需要找出两个文件中有多少重复项 - 我通过将两个arraylists添加到HashSet然后从两个arraylists的组合大小中减去集合的大小来完成此操作 - 这是一个好的解决方案,还是可以做得更好?
我有两个列表
List<String> list1 = new ArrayList<String>(Arrays.asList("A", "B", "C"));
List<String> list2 = new ArrayList<String>(Arrays.asList("A"));
Run Code Online (Sandbox Code Playgroud)
List<String> result = list1.(SomeMethod)(list2) 必须回来 result = {"B","C"}
这种方法可用吗?
我有两个清单。
List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 2));
List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3, 4));
Run Code Online (Sandbox Code Playgroud)
我想删除的元素包含在list2从list1,正是多次,因为它们包含在list2。在上面的示例中:当我们删除列表1中存在于列表2中的元素时,我们应该得到结果[1, 2](由于仅包含的一个实例,因此2应该从中删除一次出现)。list1list22
我尝试过,list1.removeAll(list2);但得到的结果列表仅包含[1]。
实现此目标的最佳方法是什么?同时浏览两个列表对我来说似乎有点麻烦。