import java.util.Arrays; import java.util.HashSet; import java.util.Set; class Demo20 { public static void main(String[] args) { //int [] arr={1,2,3,3,4,4,4,4}; int [] arr={4,2,3,3,4,4,4,4}; //arr=delArr(arr); arr=delArrByHash(arr); //test(arr); System.out.println(Arrays.toString(arr)); System.out.println("这个数组的长度是:"+arr.length); System.out.println("这个是测试去除重复项!"); } //数组去除重复项 public static int [] delArr(int [] arr) { if(arr.length<=1) return arr; int index=-1; //先排序 for(int i=0;i<arr.length-1;i++) { index=-1; for(int j=i+1;j<arr.length;j++) { if(arr[i]>arr[j]) { index=j; } } if(index!=-1) { arr[i]=arr[i]^arr[index]; arr[index]=arr[i]^arr[index]; arr[i]=arr[i]^arr[index]; } } index=0; for(int i=0;i<arr.length-1;i++) { if(arr[i]==arr[i+1]) index++; } int[] arrOne=new int[arr.length-index]; index=0; for(int i=0;i<arr.length-1;i++) { if(arr[i]!=arr[i+1]) { arrOne[index]=arr[i]; index++; } } arrOne[index]=arr[arr.length-1];//对最后一个数赋值 return arrOne; } // hashSet.toArray(new int[0]); 这个查了好久,里面好像是String类型的 public static int[] delArrByHash(int [] arr) { Set<Integer> hashSet=new HashSet<Integer>(); for(int i=0;i<arr.length;i++) { hashSet.add(arr[i]); } int[] arrOne=new int[hashSet.size()]; Integer [] arrTow= hashSet.toArray(new Integer[0]); for(int i=0;i<arrTow.length;i++) { arrOne[i]=arrTow[i].intValue(); } return arrOne; } }
我乃新手,如有错误欢迎指点