Java 找出两个数组中重复的数字和次数

简介

在Java开发中,经常会遇到需要找出数组中重复的数字和次数的需求。这篇文章将指导你如何实现这个功能,无论你是一名经验丰富的开发者还是刚入行的小白,都能够轻松掌握。

流程图

首先,我们来看一下整个流程的步骤,如下所示:

gantt
  dateFormat  YYYY-MM-DD
  title Java 找出两个数组中重复的数字和次数流程图

  section 初始化
  创建两个整数数组 | 2022-01-01, 1d
  数组赋值 | 2022-01-02, 1d

  section 找出重复数字
  创建一个HashMap | 2022-01-03, 1d
  遍历第一个数组 | 2022-01-04, 1d
  判断HashMap中是否存在当前数字 | 2022-01-05, 1d
  若存在,将次数加1 | 2022-01-06, 1d
  若不存在,将数字作为键,次数初始化为1 | 2022-01-07, 1d

  section 输出结果
  遍历HashMap | 2022-01-08, 1d
  输出重复数字和次数 | 2022-01-09, 1d

代码实现

接下来,我们逐步实现上述流程中的每一步骤。

初始化

首先,我们需要创建两个整数数组,并将它们进行赋值。这里我们假设两个数组为arr1arr2。代码如下:

int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = {4, 5, 6, 7, 8};

找出重复数字

接下来,我们需要创建一个HashMap来存储重复的数字和对应的次数。代码如下:

HashMap<Integer, Integer> map = new HashMap<>();

然后,我们需要遍历第一个数组,并判断HashMap中是否存在当前数字。如果存在,则将次数加1;如果不存在,则将数字作为键,次数初始化为1。代码如下:

for (int num : arr1) {
    if (map.containsKey(num)) {
        map.put(num, map.get(num) + 1);
    } else {
        map.put(num, 1);
    }
}

输出结果

最后,我们需要遍历HashMap,并输出重复数字和对应的次数。代码如下:

for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
    int num = entry.getKey();
    int count = entry.getValue();
    System.out.println("重复数字:" + num + ",次数:" + count);
}

总结

通过以上步骤,我们成功实现了Java找出两个数组中重复的数字和次数的功能。我们首先初始化了两个数组,并对其进行赋值。然后,我们使用HashMap来存储重复的数字和对应的次数,遍历第一个数组,并根据HashMap中是否存在当前数字来更新次数。最后,我们遍历HashMap,并输出结果。

希望这篇文章能够帮助你理解并掌握如何在Java中找出两个数组中重复的数字和次数的方法。如果有任何疑问或困惑,欢迎在评论区留言,我将尽力帮助你解决问题。祝你编程愉快!