相关疑难解决方法(0)

删除另一个arraylist中存在的arraylist中的所有对象

我试图从两个文件读入并将它们存储在两个单独的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的组合大小中减去集合的大小来完成此操作 - 这是一个好的解决方案,还是可以做得更好?

java arraylist

37
推荐指数
3
解决办法
6万
查看次数

任何与保留所有功能相反的功能的方法?

我有两个列表

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"}

这种方法可用吗?

java collections

6
推荐指数
1
解决办法
2974
查看次数

计算具有重复项的两个列表的差异

我有两个清单。

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)

我想删除的元素包含在list2list1,正是多次,因为它们包含在list2。在上面的示例中:当我们删除列表1中存在于列表2中的元素时,我们应该得到结果[1, 2](由于仅包含的一个实例,因此2应该从中删除一次出现)。list1list22

我尝试过,list1.removeAll(list2);但得到的结果列表仅包含[1]

实现此目标的最佳方法是什么?同时浏览两个列表对我来说似乎有点麻烦。

java iterator arraylist java-stream

2
推荐指数
1
解决办法
289
查看次数

标签 统计

java ×3

arraylist ×2

collections ×1

iterator ×1

java-stream ×1