在编写js代码的时候 发现可以通过json的特性排除数据重复,实现快速去重。
然后心血来潮java中Map也有这个特性, 所以使用java方式实现去重的算法,
?
代码比较简单,直接上代码:
package org.jshand.test;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Arrat {
/**
* 数组排序的写法
* @param array
* @return
*/
public static Integer[] unique(int[] array){
Map<Integer,Object> map = new HashMap();
/*将所有元素放到Map的Key中 得到去重复的key集合**/
for(int el : array){
map.put(el, true);
}
/*将Key中所有元素集合转换成数组**/
Set<Integer> set = map.keySet();
Integer[] a = new Integer[set.size()];
//返回泛型数组
return map.keySet().toArray(a);
}
/**
* 测试函数
* @param args
*/
public static void main(String[] args) {
//定义冗余数组
int[] array = {6,8,3,4,1,2,7,8,10,3,4,8};
//获取去重数组
Integer[] uniqueArray = unique(array);
//打印下结果
for (Integer integer : uniqueArray) {
System.out.println(integer);
}
}
}
?
原文:http://314649444.iteye.com/blog/2280428