java - How to efficiently remove duplicates from an array without using Set -


i asked write own implementation remove duplicated values in array. here have created. after tests 1,000,000 elements took long time finish. there can improve algorithm or bugs remove ?

i need write own implementation - not use set, hashset etc. or other tools such iterators. array remove duplicates.

public static int[] removeduplicates(int[] arr) {      int end = arr.length;      (int = 0; < end; i++) {         (int j = + 1; j < end; j++) {             if (arr[i] == arr[j]) {                                   int shiftleft = j;                 (int k = j+1; k < end; k++, shiftleft++) {                     arr[shiftleft] = arr[k];                 }                 end--;                 j--;             }         }     }      int[] whitelist = new int[end];     for(int = 0; < end; i++){         whitelist[i] = arr[i];     }     return whitelist; } 

you can take of set collection

int end = arr.length; set<integer> set = new hashset<integer>();  for(int = 0; < end; i++){   set.add(arr[i]); } 

now if iterate through set, contain unique values. iterating code :

iterator = set.iterator(); while(it.hasnext()) {   system.out.println(it.next()); } 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -