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());

}

}

}

}

java hashmap 去重_HashMap去重 - osc_sj1kgo4z的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. android 数组排重方法,js数组去重方法集合 - osc_779ncf3o的个人空间 - OSCHINA - 中文开源技术交流社区...

    //第一种方法,新建一个空数组,将原来的数组循环逐个与新数组的成员做比较,如果新数组没有该元素就push进来 var arr = ['a', 1, 1, 1, 2, 4, 4, 'b', 'c', ' ...

  2. java -p_javap命令详解 - JackieYeah的个人空间 - OSCHINA - 中文开源技术交流社区

    一.用法 javap [ 选项 ] classes 二.描述 javap命令反汇编一个或多个类文件.它的输出由使用的选项决定.如果没有使用选项,javap命令将打印输出传递给它的类的包, protec ...

  3. java中的v递归的思想,Java中的递归思想 - osc_9lqilnv7的个人空间 - OSCHINA - 中文开源技术交流社区...

    递归: 递归的概念:方法自身调用自身则称为递归. 递归的分类: 间接递归:方法A调用方法B,方法B调用方法C,方法C调用方法A. 直接递归: 方法A调用方法A.(常用) 递归的注意事项: 递归一定要出 ...

  4. java虚拟机jvm_java虚拟机jvm - zhuyuansj的个人空间 - OSCHINA - 中文开源技术交流社区...

    Java内存结构和java内存模型的区别.往往很多人会搞起来.这里主要对这2种进行解释并进行操作.经实践会JVM调优和不会JVM调优差别确实很大,足足可以提升服务器一倍的性能. java内存结构:所谓 ...

  5. java空格转义_java转义字符 - simpower的个人空间 - OSCHINA - 中文开源技术交流社区...

    1. 注意regex的写法 String   newName=name.replaceFirst("d:\\\\racke\\\\","http://192.168.0. ...

  6. java桌球教程视频,Java桌球小游戏1 - osc_wov79fj7的个人空间 - OSCHINA - 中文开源技术交流社区...

    版本三.使小球动起来 package cn.xjion.game; /** * 水平滚动 * @author xjion * */ import java.awt.*; import javax.sw ...

  7. java kml_当Java遇上KML - sheva.wen的个人空间 - OSCHINA - 中文开源技术交流社区

    最近有个需求,java读取kml,想到的方案大概有两个.一.按一般xml解析,二.用GIS相关的java库解析.由于KML格式具有一定的复杂性,懒人放弃按xml解析,转而考虑用java的GIS库,首先 ...

  8. java kcp,重新认识KCP - osc_rreaoxa0的个人空间 - OSCHINA - 中文开源技术交流社区

    什么是KCP KCP是一种网络传输协议(A Fast and Reliable ARQ Protocol),可以视它为TCP的代替品,但是它运行于用户空间,它不管底层的发送与接收,只是个纯算法实现可靠 ...

  9. 视图单行子查询返回mysql,Oracle命令整理 - osc_sj1kgo4z的个人空间 - OSCHINA - 中文开源技术交流社区...

    常用命令 1 sqlplus  scott/tiger@192.168.47.10:1521/orcl后面不要加: sqlplus  sys/oracle  as sysdba             ...

最新文章

  1. Android禁止横屏竖屏切换
  2. PHP 实现代码复用的一个方法 traits新特性
  3. 【JSP EL表达式】动态表达式/表达式拼接
  4. php 接受 amp,php中amp;amp;和||的用法
  5. 黑马程序员_java基础笔记(06)...集合
  6. 网店如何提高顾客的回购率?
  7. java面试题jvm_经典面试题|讲一讲JVM的组成
  8. zynq文档阅读之EMIO和MIO的细微差别
  9. 12.微服务设计 --- 总结
  10. Linux下libiconv库的安装和使用
  11. 获取打印机状态,判断打印机状态,获取打印机驱动信息
  12. 阿里云服务安装FTP服务器报200 227 entering passive mode(被动模式)错误
  13. 李嘉诚:没有人愿意贫穷,但出路在哪(转自意林)
  14. Qt Https http 请求案例
  15. 计算机网络ping本机ip,使用ping命令检查本机的TCP / IP协议
  16. 清华大学《大数据实践课》总结交流会成功举行
  17. 极客日报第89期:经纬张颖「炮轰」扫码点餐;淘宝特价版给拼多多送芒果;Firefox 87.0 发布
  18. Linux系统的时间管理及优化
  19. 架构师之路(3)---架构师的职责
  20. python爬虫网易云音乐许巍的漫步制作热门点赞柱状图云词

热门文章

  1. alsa 音频编程简单的例子 (总结)
  2. 北航计算机考研复试时间,北京航空航天大学计算机学院2019年硕士研究生复试安排...
  3. 遗传编程(Genetic Programming, GP)
  4. 3Dmax云渲染是什么?
  5. 优信拍集团php面试题_【优信拍PHP工程师面试】优信拍面经。-看准网
  6. null == 什么意思? 和 ==null是不是一个意思啊?
  7. 【Effective C++】item20: Prefer pass-by-reference-to-const to pass-by-value
  8. 步进电机的名词概念解析
  9. 纠结建模的话,手绘3D建模提高你的模型制作能力和美术绘制能力
  10. 请允许ActiveX控件和页面其他部分交互