java hashmap 去重_HashMap去重

该博客介绍了如何在Java中使用HashMap进行数据去重。通过两种方法实现:1. 使用containsValue检查并移除重复值;2. 创建HashSet利用其不可重复特性辅助删除重复项。
摘要由CSDN通过智能技术生成

package util;

import java.util.HashMap;

import java.util.HashSet;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

import java.util.Map.Entry;

/**

*

* HashMap去重处理

*

* @author 16060834

* @see [相关类/方法](可选)

* @since [产品/模块版本] (可选)

*/

public class DuplicateMapData {

public static void main(String[] args) {

Map map = new HashMap();

map.put("1", "123");

map.put("2", "djw");

map.put("3", "djw");

map.put("4", "123");

map.put("5", "djw");

System.out.println(deleteDuplicate1(map));

deleteDuplicate2(map);

System.out.println(map);

}

/**

*

* 方法1:通过containsValue去重后放入新定义map

*

* @param map

* @return

* @see [相关类/方法](可选)

* @since [产品/模块版本](可选)

*/

private static Map deleteDuplicate1(Map map) {

if (map == null || map.size() == 0) {

return new HashMap();

}

Map map2 = new HashMap();

for (Iterator> iterator = map.entrySet().iterator(); iterator.hasNext();) {

Entry entry = iterator.next();

if (map2.containsValue(entry.getValue())) {

continue;

} else {

map2.put(entry.getKey(), entry.getValue());

}

}

return map2;

}

/**

*

* 利用set不可重复特性进行判断

*

* @param map

* @see [相关类/方法](可选)

* @since [产品/模块版本](可选)

*/

private static void deleteDuplicate2(Map map) {

if (map == null || map.size() == 0) {

return;

}

Set set = new HashSet();

for (Iterator> iterator = map.entrySet().iterator(); iterator.hasNext();) {

Entry entry = iterator.next();

if (set.contains(entry.getValue())) {

iterator.remove();

continue;

} else {

set.add(entry.getValue());

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值