Write a function to remove duplicated objects from an array. Preserve the order. For example, if the input array is [1, 5, 4, 2, 7, 2, 6, 5], the result should be [1, 5, 4, 2, 7, 6]. The implementation should be optimized for executing speed.
设计一个方法,能够移除一个数组的重复元素,这里给你一个整型数组,比如
[1, 5, 4, 2, 7, 2, 6, 5],里面有2个5,2个2,移除重复元素后就是[1, 5, 4, 2, 7, 6],
我的方法是:
使用一个 LinkedHashSet 来存储只出现一次的元素,第二次出现的时候,就忽略该元素,然后使用该LinkedHashSet来组成结果。
public int[] removeDuplicated(int[] array) {
LinkedHashSet<Integer> set = new LinkedHashSet<Integer>();
int j = 0;
for (int i : array) {
set.add(i);
}
int[] result = new int[set.size()];
Iterator<Integer> iterator = set.iterator();
while (iterator.hasNext()) {
result[j++] = iterator.next();
}
return result;
}