欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

查找数组中的重复元素

程序员文章站 2022-07-12 09:28:33
...

1、使用HashMap

int[]arr = new int[]{1,2,3,4,5,3,2};
Map<Integer,Integer> arrMap=new HashMap<>();
for(int i=0;i< arr.length;i++){
    if(arrMap.containsKey(arr[i])){
          System.out.println("重复元素:"+arr[i]);
          System.out.println("重复位置的索引:"+arrMap.get(arr[i])+" "+i);
	}
	//必须先查找再put,以免查找到自身
    arrMap.put(arr[i],i);
}
重复元素:3
重复位置的索引:2 5
重复元素:2
重复位置的索引:1 6

2、暴力循环查找

int[]arr = new int[]{1,2,3,4,5,3,2};
for(int i=0;i<arr.length;i++){
    for (int j=i+1;j<arr.length;j++){
         if(arr[i]==arr[j]){
            System.out.println("重复元素:"+arr[i]);
            System.out.println("重复位置的索引:"+i+" "+j);
         }
    }
}
重复元素:2
重复位置的索引:1 6
重复元素:3
重复位置的索引:2 5
相关标签: Java java