今天发现在map<K,V>集合中的keySet()方法获取到的Set集合后,我对这个Set做remove操作竟然会影响到map<K,V>集合

代码如下

package com.Sykking.Test;import com.Sykking.Test.Util.check;import java.util.*;public class MyTest {public static void main(String[] args) {HashMap<Integer,String> hashMap = new HashMap<>();hashMap.put(1,"1");hashMap.put(2,"2");hashMap.put(3,"3");Set<Integer> keySet = hashMap.keySet();//获取key集合System.out.print("第一次遍历结果");for (Integer i:keySet) {System.out.print(i+"\t");//遍历keySet}System.out.println();System.out.print("第二次遍历结果");keySet.remove(2);//为什么执行到这步竟然把map的value也给删除了?    我只是操作了遍历出来的key集合阿//重新遍历key发现map里的<2,"2">已经被删除了Set<Integer> keySet2 = hashMap.keySet();for (Integer i:keySet2) {System.out.print(i+"\t");}}
}

后来查了API发现他们是绑定的,互相操作会有影响的

最后我想在不影响map<K,V>集合的情况下操作Set集合 所以用的笨办法 使用了List集合存储Set的值,然后对List做操作了

keySet方法的小知识点相关推荐

  1. 0607am抽象类接口析构方法tostring小知识点

    /* class ren { public static $color;//静态 static function () { ren::$color; self::$color;//self只能写在类里 ...

  2. JavaScript 小知识点

    原型链相关 最详尽的 JS 原型与原型链终极详解 isNaN() 和 Number.isNaN() 的区别 isNaN() 是 ES1 规范: 是全局方法: 如果参数不是一个 Number 类型,会先 ...

  3. Python小知识点(3)--装饰器

    Python小知识点(3)--装饰器 (1)装饰器含参数,被装饰函数不含(含)参数 实例代码如下: import time # 装饰器函数 def wrapper(func):def done(*ar ...

  4. php-函数小知识点

    <?php //语句 //分支语句 /*$a=5; if($a==5) { echo "相等";} else { echo "budeng";}*/ // ...

  5. Python小知识点(5)--面向对象部分

    Python小知识点(5)--面向对象部分 面向对象: 世间万物,皆可分类.--------------------手机<--------------某一个分类 世间万物,皆为对象.------ ...

  6. JS,JQ,PHP的小知识点整理

    在日常开发中所使用的JS,JQ,PHP的小知识点整理 持续更新-- 1.js和jq获取当前的时间戳 方法一: <script>var timestamp = Date.parse(new ...

  7. 通信工程专业的一些小知识点

    原文链接:(更多文章移步链接) 通信工程专业的一些小知识点 - 子木的文章 - 知乎 https://zhuanlan.zhihu.com/p/49285829 一. 无线信道的多径效应导致的频率选择 ...

  8. css 小知识点:inline/inline-block/line-height

    inline: 此元素会被显示为内联元素,元素前后没有换行符.因此:无法设置宽度和高度- inline-block: 行内块元素.元素前后没有换行符(CSS2.1 新增的值) 用通俗的话讲,就是不独占 ...

  9. 关于js的一些常用小知识点(持续更新)

    关于js的一些常用小知识点 1.获取页面中所有选中的CheckBox复选框的值 2.js获取网页URL中所带的参数 3.js模拟点击button 4.前端传入后台list,后台是不能接收List的,就 ...

最新文章

  1. java srs 推流_srs安装与ffmpeg推流
  2. MySQL如何选择数据类型
  3. 修改FileZilla生成证书的有效期
  4. 【总结整理】《人人都是产品经理》---读后感
  5. 成功解决 .Quit() File COMObject InternetExplorer.Application, line 2, in Quit pywintypes.com_error
  6. python 显示html_如何使用python在本地显示带有html表单的网...
  7. asp.net开源工作流CCFlow的下载与安装
  8. oracle中提取日期时间的特定部分,Extract()截取時間的特定部分
  9. 中国中医科学院大学落户苏州吴中区
  10. oracle连接操作符,Oracle操作符,函数
  11. 提交表单到mysql_node提交表单到mysql
  12. mysql协议分析1,MySQL协议分析(1)
  13. PowerDesigner注意事项
  14. java reader类子类_java io --- Reader类
  15. 【LOJ】#3090. 「BJOI2019」勘破神机
  16. IOS天气预报(美化)
  17. 初识Python必看基础知识~ 续(3)
  18. 案例——中国篮球运动员的基本信息分析
  19. 从git上克隆的vue项目在本地运行步骤
  20. Ant Design of Vue - 让 Message 组件支持手动点击关闭

热门文章

  1. 微信小程序-常用API开发技巧学习笔记
  2. scipy.optimize 模块导入问题
  3. java实现四次挥手_java中三次握手四次挥手是什么?图文详解
  4. ASUS华硕天选3笔记本电脑FX507ZR12700H原装出厂Win11系统恢复原厂OEM系统
  5. [转]来自微信团队的Apk瘦身经验
  6. 折腾黑苹果走过的坑及一些解决方案
  7. JavaWeb思维导图(一周目版)
  8. OpenCV之霍夫变换
  9. 范数(norm)介绍
  10. Qt之字体文件(TTF)图标字体库