题目为剑指offer第二期第一题
利用hashset不能存储重复值的特性 我们来查找重复值 然后放在一个预先准备好的容器 最后输出
public class 数组中的重复查找 {
/*思路: 主要是基于hashset的不能重复 hashset底层是调用hashmap的put方法 如果返回值不为null 就说明key存在了重复*/
public static void main(String[] args) {
int[] array =new int[]{2,3,1,0,2,5,3};
ArrayList<Integer> check = check(array);
for (Integer integer : check) {
System.out.println(integer);
}
}
public static ArrayList<Integer> check(int[] array){
/*创建一个数组用来存放重复的元素*/
ArrayList<Integer> arrayList = new ArrayList<Integer>();
/*创建一个hashset元素用来判断是否重复的容器*/
HashSet<Integer> checkkey =new HashSet<Integer>();
/*对数组进行遍历 每一个元素加入其中判断返回值*/
for (int i : array) {
boolean flag = checkkey.add(i);
if (!flag){
arrayList.add(i);
}
}
return arrayList;
}
}