》map存储了数组1的所有元素即每个元素的重复情况
》map2用来存储数组1和数组2的重复元素
》题意要求输出重复元素的较小的个数,在遍历数组2时,遍历到一个(存在且value不为0)在map2中加1,在map中减1,这样得到较小的个数 (每次遍历计数方便后边循环复制到数组)
》将map2赋值到数组,map的遍历 Map.Entry
class Solution {
public int[] intersect(int[] nums1, int[] nums2) {
Map map = new HashMap();
Map map2 = new HashMap();
int sum=0;
for (int i = 0; i < nums1.length; i++) {
if (!map.containsKey(nums1[i])) {
map.put(nums1[i], 1);
} else {
map.put(nums1[i], map.get(nums1[i]) + 1);
}
}
//map存储了数组1的所有元素即每个元素的重复情况
//map2用来存储数组1和数组2的重复元素
//题意要求输出重复元素的较小的个数,在遍历数组2时,遍历到一个在map2中加1,在map中减1,这样得到较小的个数
for (int i = 0; i < nums2.length; i++) {
if (map.containsKey(nums2[i]) && map.get(nums2[i])!=0) {
if (!map2.containsKey(nums2[i])) {
map2.put(nums2[i], 1);
} else {
map2.put(nums2[i], map2.get(nums2[i]) + 1);
}
map.replace(nums2[i],map.get(nums2[i]) - 1);
sum++;
}
}
int[] result=new int[sum];
int j=0;
for (Map.Entry entry : map2.entrySet()) {
for(int i=0;i 


