java编程: hashmap去做合并 从键盘输入两个数组输出数组两个数组中都有元素则去除相同元素
可以使用HashMap来合并两个数组,并去除相同元素。具体的实现步骤如下:
- 从键盘输入两个数组,并将它们存储在不同的数组中。
- 创建一个HashMap对象,用于存储数组中的元素。
- 遍历第一个数组,将数组中的元素作为键,值设为1,存储到HashMap中。
- 遍历第二个数组,如果元素在HashMap中已存在,则将其值设为2。
- 创建一个新的ArrayList,用于存储两个数组中都存在的元素。
- 遍历HashMap的键集合,如果值为2,则将该元素添加到ArrayList中。
- 输出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);
}
}
}
这样,程序会先要求输入两个数组的长度,然后分别从键盘输入两个数组的元素。然后程序会合并两个数组,并输出两个数组中都存在的元素
原文地址: https://www.cveoy.top/t/topic/h7ac 著作权归作者所有。请勿转载和采集!