HashMap去重
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<String, String> map = new HashMap<String, String>();
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<String, String> deleteDuplicate1(Map<String, String> map) {
if (map == null || map.size() == 0) {
return new HashMap<String, String>();
}
Map<String, String> map2 = new HashMap<String, String>();
for (Iterator<Entry<String, String>> iterator = map.entrySet().iterator(); iterator.hasNext();) {
Entry<String, String> 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<String, String> map) {
if (map == null || map.size() == 0) {
return;
}
Set<String> set = new HashSet<String>();
for (Iterator<Entry<String, String>> iterator = map.entrySet().iterator(); iterator.hasNext();) {
Entry<String, String> entry = iterator.next();
if (set.contains(entry.getValue())) {
iterator.remove();
continue;
} else {
set.add(entry.getValue());
}
}
}
}
HashMap去重的更多相关文章
- LeeCode_01_Two sum
Two Sum Given an array of integers, return indices of the two numbers such that they add up to a spe ...
- [Algorithm] 使用SimHash进行海量文本去重
在之前的两篇博文分别介绍了常用的hash方法([Data Structure & Algorithm] Hash那点事儿)以及局部敏感hash算法([Algorithm] 局部敏感哈希算法(L ...
- json数组去重
//名字去重 Map<String,Integer> map=new HashMap<String,Integer>(); for(int i=0;i<jows.size ...
- java中List对象列表去重或取出以及排序
面试碰到几次list的去重和排序.下面介绍一种做法: 1. list去重 1.1 实体类Student List<Student>容量10k以上,要求去重复.这里Student的重复标准是 ...
- 基于Redis的BloomFilter算法去重
BloomFilter算法及其适用场景 BloomFilter是利用类似位图或者位集合数据结构来存储数据,利用位数组来简洁的表示一个集合,并且能够快速的判断一个元素是不是已经存在于这个集合.因为基于H ...
- Java中对List去重, Stream去重
问题 当下互联网技术成熟,越来越多的趋向去中心化.分布式.流计算,使得很多以前在数据库侧做的事情放到了Java端.今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段去重?大家都一致认为用Ja ...
- 使用SimHash进行海量文本去重[转载]
阅读目录 1. SimHash与传统hash函数的区别 2. SimHash算法思想 3. SimHash流程实现 4. SimHash签名距离计算 5. SimHash存储和索引 6. SimHas ...
- HashMap初认识
什么是HashSet? 它实现了Set接口,HashSet是Set集合的子类 有哈希表支持的,元素不可重复的哈希码值(实际上是一个HashMap的实例). 它不保证set的迭代顺序(遍历元素的顺序), ...
- 通过HashSet达到对象集去重的实现(jdk1.8)
通过HashSet达到对象集去重的实现(jdk1.8) public class Contract { private String contractId; private String contra ...
随机推荐
- Foundation框架 - NSDictionary类、NSMutableDictionary类
NSArray.NSSet.NSDictionary /* 集合 1.NSArray\NSMutableArray * 有序 * 高速创建(不可变):@[obj1, obj2, obj3] * 高速訪 ...
- 【Postman】接口测试工具:在谷歌浏览器安装插件方法以及使用说明
安装插件方法: <如何在谷歌浏览器chrome中离线安装.crx扩展程序的三种方法?> <postman chrome插件的安装与使用> 下载地址:http://www.cnp ...
- 常见UI组件的一个模板
效果: 代码: using UnityEngine; using UnityEditor; using System.Collections; using System.IO; using Unity ...
- 删除路径下的文件以及子路径。(范例“E:/www/”)
/// <summary> /// 删除路径下的文件以及子路径. /// </summary> /// <param name="dir">目标 ...
- history命令使用方法详解
history是一条非常实用的shell命令,可以显示出之前在shell中运行的命令,配合last显示之前登录的用户,就可以追溯是哪个用户执行了某些命令.以下详细说明history使用中常见的命令或技 ...
- Wooden Sticks(hdu1051)
Wooden Sticks Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submi ...
- Python高级编程第二版--笔记
不只是CPython Stackless Python Jython(与java集成) IronPython(与net集成) PyPy python真正出众的领域在于围绕语言打造的整个生态系统. Py ...
- 配置过滤器filter对跨站脚本攻击XSS实现拦截
1.web.xml中配置filter [html] view plain copy <filter> <filter-name></filter-name> & ...
- 学习Sharding JDBC 从入门到出门-1
感觉大神已经写好了,自己膜拜下下, 送上大神地址:http://www.cnblogs.com/zhongxinWang/p/4262650.html 这篇博客主要是理论的说明了什么是分库分表,路由等 ...
- 6.2-SingletonBeanRegistry-DefaultSingletonBeanRegistry
SingletonBeanRegistry package org.springframework.beans.factory.config; public interface SingletonBe ...