- class Demo9
- {
- public static void main(String[] args)
- {
- int[] oldArr = {1,4,9,4,1,1,7};
- int[] newArr = clearRepeat(oldArr);
- System.out.println("清除重复元素的数组:"+ Arrays.toString(newArr));
- }
- public static int[] clearRepeat(int[] oldArr){
- int count = 0 ; //count变量 是用于记录重复元素的个数
- //计算出重复元素的个数
- for(int i = 0 ; i<oldArr.length -1 ; i++ ){
- for(int j = i+1 ; j<oldArr.length ; j++){
- if(oldArr[i]==oldArr[j]){
- count++;
- break;
- }
- }
- }
-
- //创建一个新的数组
- int[] newArr = new int[oldArr.length-count];
-
-
- int index = 0; //新数组使用的索引值。
- //遍历旧数组
- for(int i = 0 ; i<oldArr.length ; i++){
- boolean flag = false; //该标识是用于标识取出的元素是否存在新数组中。 false默认情况是不存在 的。
- int temp = oldArr[i]; //从旧数组 中取出遍历的元素
- //遍历新的数组是否存在该数据
- for(int j = 0 ; j<newArr.length ; j++){
- if(newArr[j]==temp){
- flag = true;
- break;
- }
- }
- //该元素不存在新数组中,这时候应该存储起来
- if(flag==false){
- newArr[index++] = temp;
- }
- }
- return newArr;
- }
- }
复制代码 |