Java两个数组差值求解方法

2023-02-12 21:45 阅读:1227

方法一:使用HashSet

使用HashSet数据结构来比较两个数组,从而得出它们的差值。首先,创建一个HashSet对象,然后将数组1中的所有元素添加到HashSet中。接下来,遍历数组2,如果数组2中的元素在HashSet中存在,则删除该元素。最后,剩下的元素即为两个数组的差值。

示例代码:

import java.util.HashSet;
import java.util.Set;

public class ArrayDifference {
    public static void main(String[] args) {
        int[] array1 = {1, 2, 3, 4, 5};
        int[] array2 = {4, 5, 6, 7, 8};
        Set<Integer> set1 = new HashSet<>();
        for (int i : array1) {
            set1.add(i);
        }
        Set<Integer> set2 = new HashSet<>();
        for (int i : array2) {
            set2.add(i);
        }
        set1.removeAll(set2);
        System.out.println("Array1中不在Array2中的元素:" + set1);
    }
}

方法二:使用集合工具类(Java Collections)

Java Collections 提供了一个非常方便的工具类,可以帮助我们快速解决两个数组的差值问题。可以使用 Collection.removeAll() 方法来实现。

示例代码:

import java.util.ArrayList;
import java.util.List;
 
public class Main {
 
    public static void main(String[] args) {
 
        // 定义数组1
        int[] array1 = {1, 2, 3, 4, 5};
 
        // 定义数组2
        int[] array2 = {4, 5, 6, 7, 8};
 
        // 创建两个集合,分别存储数组1和数组2的元素
        List<Integer> list1 = new ArrayList<Integer>();
        for (int i = 0; i < array1.length; i++) {
            list1.add(array1[i]);
        }
 
        List<Integer> list2 = new ArrayList<Integer>();
        for (int i = 0; i < array2.length; i++) {
            list2.add(array2[i]);
        }
 
        // 从第一个集合中移除第二个集合中的所有元素
        list1.removeAll(list2);
 
        // 将结果打印出来
        System.out.println(list1);
    }
 
}

输出结果:

[1, 2, 3]

结语:总的来说,通过对两个数组的处理,我们可以轻松获得两个数组之间的差值,这在实际开发中有很多的实际应用价值。通过使用java的相关方法,让我们快速高效地解决问题,提高工作效率。希望本文对大家有所帮助。

{{commentTotal}} 条评论

{{item.nickname}}
{{item.create_date}}
{{item.content}}
- 上拉或点击加载更多 -
- 加载中 -
- 没有更多了 -
- 本文链接 -