第一種做法疲恢,遍歷數(shù)組凶朗,用isExist標記是否出現(xiàn)過,未出現(xiàn)則添加至新的數(shù)組
public static int[] distinct(int[] arr){
int length=1;
bollean isExist=false;
for(int i=1;i<arr.length;i++){
for((int j=0;j<length;j++){
if(arr[i]==arr[j]){
isExist=true;
}
}
if(!isExist){
arr[length]=arr[i];
length++;
}
isExist=false;
}
int[] newArr=new int[length];
System.arraycopy(arr,0,newArr,0,length);
return newArr;
}
第二種做法冈闭,利用set集合框架俱尼,因為set集合中元素不允許重復
public static void main(String[] args){
int[] arr={0,4,2,4,6,1,2,4,7,8};
TreeSet ts=new TreeSet();
for(int x=0;x<arr.length;x++){
if(arr[x]==0)
continue;
ts.add(arr[x]);
}
System.out.println(ts);
}
第三種做法,利用hashtable萎攒,利用其鍵的唯一性
public Object[] filter(Object arr[])
{
Hashtable<Object, Object> hashtable = new Hashtable<Object, Object>();
for (int i = 0; i < arr.length; ++i)
{
hashtable.put(arr[i], arr[i]);
}
Object results[] = null;
results = hashtable.values().toArray();
return results;
}
}