可以使用HashMap来合并两个数组,并去除相同元素。具体的实现步骤如下:

  1. 从键盘输入两个数组,并将它们存储在不同的数组中。
  2. 创建一个HashMap对象,用于存储数组中的元素。
  3. 遍历第一个数组,将数组中的元素作为键,值设为1,存储到HashMap中。
  4. 遍历第二个数组,如果元素在HashMap中已存在,则将其值设为2。
  5. 创建一个新的ArrayList,用于存储两个数组中都存在的元素。
  6. 遍历HashMap的键集合,如果值为2,则将该元素添加到ArrayList中。
  7. 输出ArrayList中的元素。

下面是具体的Java代码示例:

import java.util.*;

public class MergeArrays {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 输入第一个数组
        System.out.print("输入第一个数组的长度:");
        int length1 = scanner.nextInt();
        int[] array1 = new int[length1];
        System.out.println("输入第一个数组的元素:");
        for (int i = 0; i < length1; i++) {
            array1[i] = scanner.nextInt();
        }
        
        // 输入第二个数组
        System.out.print("输入第二个数组的长度:");
        int length2 = scanner.nextInt();
        int[] array2 = new int[length2];
        System.out.println("输入第二个数组的元素:");
        for (int i = 0; i < length2; i++) {
            array2[i] = scanner.nextInt();
        }
        
        // 合并两个数组并去除相同元素
        HashMap<Integer, Integer> map = new HashMap<>();
        for (int num : array1) {
            map.put(num, 1);
        }
        for (int num : array2) {
            if (map.containsKey(num)) {
                map.put(num, 2);
            }
        }
        
        ArrayList<Integer> result = new ArrayList<>();
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            if (entry.getValue() == 2) {
                result.add(entry.getKey());
            }
        }
        
        // 输出结果
        System.out.println("两个数组中都存在的元素:");
        for (int num : result) {
            System.out.println(num);
        }
    }
}

这样,程序会先要求输入两个数组的长度,然后分别从键盘输入两个数组的元素。然后程序会合并两个数组,并输出两个数组中都存在的元素

java编程: hashmap去做合并 从键盘输入两个数组输出数组两个数组中都有元素则去除相同元素

原文地址: https://www.cveoy.top/t/topic/h7ac 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录