欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java利用Map 、Set特性进行数组去重排序

程序员文章站 2022-03-17 15:55:09
...

在编写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);
		}
		
		
	}
	
}