目前有数组” int[] arr = {11,2, 4, 2, 10, 11},
定义一个函数清除该数组的重复元素,返回的数组存储了那些非重复的元素而且数组不准浪费长度。
分析:1. 确定新数组的长度。 原数组的长度-重复元素个
import java.util.Arrays;
public class Demo10 {
public static void main(String[] args) {
int arr[] = {11,2,4,2,11,11};
arr = clearRepeat(arr);
System.out.println("清楚重复元素的数组:"+Arrays.toString(arr));
}
public static int[] clearRepeat(int[] arr) {
int count = 0;
for(int i=0;i<arr.length;i++) {
for(int j=i+1;j<arr.length;j++) {
if(arr[i] == arr[j]) {
count++;
break;
}
}
}
System.out.println(count);
//新数组的长度
int newLength =arr.length-count;
int[] arrnew = new int[newLength];
int index =0;
//把旧数组的元素存储到新数组中,存入新数组之前要先判断该元素是否存在新数组中,如果存在,该元素就不要了
for(int i1 =0;i1<arr.length;i1++) {
int temp = arr[i1]; //取出旧数组的元素
int flag =0;
//检查新数据是否存在取出的元素
for (int j = 0;j<arrnew.length;j++) {
if(arrnew[j] == temp) {
flag = 1;
break;
}
}
if (flag == 0) {
arrnew[index++]= temp;
}
}
return arrnew;
}
}