删除数组中的重复元素,并保持顺序,下面是代码实现:
import java.util.Arrays;
public class RemoveDuplate {
public static void main(String[] args) {
int arr[]={4,2,4,6,1,2,4,7,8};
System.out.println(Arrays.toString(repeat(arr)));
}
public static int[] repeat(int [] arr){
if(arr == null){
return arr;
}
int arrayLength = arr.length;
if(arrayLength == 0){
return arr;
}
int duplicateCount = 0;
boolean[] flags = new boolean[arrayLength];
for(int i = 0; i < arrayLength; i++){
if(flags[i]){
continue;
}
for(int j = i + 1; j < arrayLength; j++){
if(arr[i] == arr[j]){
flags[j] = true;
duplicateCount++;
}
}
}
int[] noDuplicateArray = new int[arrayLength - duplicateCount];
int index = 0;
for(int i = 0; i < arrayLength; i++){
if(!flags[i]){
noDuplicateArray[index++] = arr[i];
}
}
return noDuplicateArray;
}
}
控制台打印结果:
转:
勤奋的asialee的博客http://asialee.iteye.com/blog/2169454