1. 给定了一个包含重复元素的数组(附题后),请编写程序找出数组中那些元素有重复, 并记录其重复了几次: public class ArrayExample { public static void main(String[] args) { int array={1,6,3,6,7,9,8,6,7,8,8,0,4,5,2,9}; 【补充代码】 }
package com.temp;
import java.util.HashMap;
import java.util.HashSet;
/**
* @Author lanxiaofang
* @email [email protected]
* @date 2020/09/21 8:15
*/
public class ElemRepetition {
public static void main(String[] args) {
Integer[] array={1,6,3,6,7,9,8,6,7,8,8,0,4,5,2,9};
HashSet<Integer> hash_set = new HashSet<>();
//将数组中的值放入HashSet去重
for (Integer s : array){
hash_set.add(s);
}
// 将HashSet转为数组Array
Integer[] array_ = hash_set.toArray(new Integer[hash_set.size()]);
System.out.println("---- array_.length "+array_.length+" array.length "+array.length);
//使用HashMap来存储对应的值,以及对应的值出现的次数
HashMap<Integer, Integer> hash_map = new HashMap<>();
for(Integer i = 0; i < array_.length; i++){
int count = 0;
for(Integer j = 0; j < array.length; j++){
if(array_[i] == array[j])
count++;
hash_map.put(array_[i], count);
}
}
for(int i=0; i< array_.length; i++){
System.out.println(array_[i]+" -- "+hash_map.get(array_[i]));
}
}
}
结果如下: