楼上的不觉得使用集合框架其实在底层依然调用了相关的去重方法吗?这样做是不是有点违背出题人的意愿呢?
我基础测试的时候也抽到了这个题目,以下是我写的代码:
package com.itheima;
/**
*第8题: 数组去重
* 例如:
* 原始数组是{4,2,4,6,1,2,4,7,8}
* 得到结果{4,2,6,1,7,8}
*
* @author shine
*
*/
import java.util.Arrays;
public class Test8 {
public static void main(String[] args){
int[] ints = {2,24,24,3,2,24,32,54,6,5,3,7,7,12};//定义一个数组,并对其进行赋值
int[] newints = removeduplication(ints);//调用removeduplication对数组进行去重
System.out.println(Arrays.toString(newints));
}
//该方法用于对数组进行去重
public static int[] removeduplication(int[] ints){
int l = 0;
int[] tempints = new int[ints.length];
out: for(int i=0; i<ints.length; i++){
//对当前数组进行遍历,如果单签元素不与tempints中的已有元素相等则将其添加到tempints中去
for(int n=0; n<l; n++){
if(tempints[n]==ints[i])
continue out;
}
tempints[l++] = ints[i];
}
//取tempints的“有效长度”,并赋值于新数组newints
int[] newints = new int[l];
for(int i=0; i<l ;i++){
newints[i] = tempints[i];
}
return newints;//返回去重,并取合适长度的新数组
}
} |