? ? ? 如题,删除数组中的重复元素,并保持顺序,下面是我的实现:
? ? ?
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; } }
?
原文:http://asialee.iteye.com/blog/2169454