99、Map(映射):Map 的keySet()方法会返回 key 的集合,因为 Map 的键是不能重复的,因此 keySet()方法的返回类型是 Set;而 Map 的值是可以重复的,因此 values()方法的返回类型是 Collection,可以容纳重复的元素。

100、Map注意事项:

A)

public class TestMap {publicstatic void main(String[] args) {HashMap map = new HashMap();map.put("a","zhangsan");map.put("b","lisi");map.put("c","wangwu");map.put("a","cuijun");//System.out.println(map);String value = (String)map.get("a");System.out.println(value);System.out.println("---------------------");Stringvalue1 = (String)map.get("d");System.out.println(value1);}}

由上述代码可知不可以重复。

B)

public classTestMap1 {publicstatic void main(String[] args) {HashMap map = new HashMap();String str = newString("cuijun");map.put("a",str);map.put("b",str);//map.put("a", "cuijun");//map.put("b", "cuijun");System.out.println(map);}}

由上述代码可知可以重复。

注:因此 keySet()方法的返回类型是 Set,values()方法的返回类型是 Collection。

101、关于HashSet的使用:

A)

public class TestMap2 {publicstatic void main(String[] args) {HashMap map = new HashMap();map.put("a","aa");map.put("b","bb");map.put("c","cc");map.put("d","dd");Set keys = map.keySet();//使用keySet()方法,获取键的集合for(Iterator it =keys.iterator(); it.hasNext();){String key = (String)it.next();String value = (String)map.get(key);System.out.println(key+"="+value);}}}

b)

publicclass TestMap3 {publicstatic void main(String[] args) {HashMap map = new HashMap();map.put("a","aa");map.put("b","bb");map.put("c","cc");map.put("d","dd");Set keys = map.entrySet();//使用entrySet()方法,获取entry对象的集合for(Iterator it =keys.iterator(); it.hasNext();){Map.Entry maps = (Map.Entry)it.next();//Map.Entry:Entry是Map的一个内部类。具体详情请参考API。/** 关于内部类的简单介绍:内部类是定义在类内部的类* public class A{*      publicclass B{}* }* A a = new A();* A.B b = new A.B();*/String key = (String)maps.getKey();String value = (String)maps.getValue();System.out.println(key+":"+value);}}}

附Map.Entry的API简介:

Map.entrySet方法返回映射的 collection视图,其中的元素属于此类。获得映射项引用的唯一方法是通过此 collection视图的迭代器来实现。这些Map.Entry对象在迭代期间有效;更确切地讲,如果在迭代器返回项之后修改了底层映射,则某些映射项的行为是不确定的,除了通过setValue在映射项上执行操作之外。

C)通过使用HashSet判断输入值的个数

publicclassTestMap4 {publicstatic void main(String[] args) {HashMap map = new HashMap();for(int i = 0; i < args.length; i++){if(map.get(args[i]) ==null){map.put(args[i],newInteger(1));}else{Integer value = (Integer)map.get(args[i]);value =  new Integer(value.intValue()+1);map.put(args[i],value);}}Set keys = map.keySet();for(Iterator it =keys.iterator(); it.hasNext();){String key = (String)it.next();Integer value = (Integer)map.get(key);System.out.println(key+"="+value);}}}

=====================关于HashSet其实运行下这些代码,参考着API是很容易理解的=============

HashMap的使用方法及注意事项相关推荐

  1. Dubbo+zookeeper使用方法以及注意事项

    Dubbo+zookeeper使用方法以及注意事项 最近在一个项目中想做一个数据库查询的服务,目的是将数据库查询这块从程序中脱离出来,形成一个公共的服务平台,大家都可以调用,经过考虑决定选用Dubbo ...

  2. HashMap的遍历方法

    使用工具 IDEA2018.2 使用说明 使用迭代器,即创建Iterator对象,Iterator是一个接口,也有泛型 hasNext方法判断是否已经遍历完, next方法取当前遍历的对象 HashM ...

  3. 【PC工具】200412更新百度网盘下载工具——最终最简单百度网盘下载方法及注意事项...

    今天有朋友在群里问会员账号,上次好像说过,这种公用的会员账号基本下载量都超了,同样也限速,所以这种账号一般都用来找资源. 百度网盘这个题材也来回来去发过好几个工具了,太麻烦不说,老这么道高一尺魔高一丈 ...

  4. 【PC工具】200324更新百度网盘下载工具——最新百度网盘下载工具使用方法及注意事项...

    今天(200324)更新一个大牛的个人项目pdown,大家可以收藏一下备用(为啥是备用呢,细心的小伙伴应该发现我把标题中的高速两个字去掉了). 先发项目地址:没错还是那个神奇的网站(大神奇人聚集的地方 ...

  5. 【PC工具】更新百度网盘高速下载工具——亿寻使用方法及注意事项

    之前分享的工具和方法大部分都不好用了,我也就不保留了,有需要的朋友可以翻看之前的历史文章. 今天分享一个目前比较主流的下载工具"亿寻",可能很多朋友都用过了,这里我简单说一下使用方 ...

  6. php获取表单$_files,PHP中$_FILES的使用方法及注意事项说明

    $_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传 $_FILES数组内容 ...

  7. 佳能g3800故障灯说明书_汽车仪表灯的使用方法以及注意事项

    能够准确地识别仪表盘上的数据是每个驾驶员的必要能力,但是如今,汽车技术日新月异,大量先进技术已应用于我们的爱车上.汽车仪表盘上的指示灯和中控台上的指示灯按钮变得越来越繁杂,准确识别这些抽象按钮已不再是 ...

  8. 电脑安全注意事项_松下洗衣机维修方法及注意事项

    阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注. 注:本文转载自网络,不代表 ...

  9. go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别

    入门示例 package main import "fmt" //定义老师结构体,将老师中的各个属性 统一放入结构体中管理: type Teacher struct{//变量名字大 ...

最新文章

  1. arm neon RGB转Gray的例子
  2. 云技术-SaaS架构初步理解
  3. 导出excel 后 页面按钮失效(页面假死)
  4. delphi listview 添加数据 慢_ListView 的缓存机制
  5. mpvue 微信小程序api_基于mpvue构建微信和支付宝小程序(1)
  6. as3 htmlText 的bug
  7. 宝洁侮辱女性?其公众号发文 “女人脚臭是男人的5倍”,官方回应了...
  8. oracle无+密码登陆,Oracle 11g通过wallet实现无密码登录
  9. 吴恩达深度学习1.4笔记_Neural Networks and Deep Learning_深层神经网络
  10. python 中统计超大文件行数
  11. DragonBones快速入门指南
  12. WCF如何使用X509证书(安装和错误)(二)
  13. python 会议室预约系统解决方案_会议预约系统_智能会议预约管理系统_轻松实现会议管理解决方案...
  14. Linux内核文件系统7
  15. 小众APP分享,有兴趣的朋友快来挖宝
  16. python中pprint模块
  17. IDEA 解决 artifacts not found 问题
  18. 计算机安全使用环境及要求吗,计算机安全使用环境及要求02
  19. java date是cst_Java CST 日期问题
  20. EditPlus的安装与破解

热门文章

  1. php的具体配置学习笔记
  2. zoj1095 Humble Numbers(DP)
  3. 代码意识流——花朵数问题(七)
  4. python利用tkinter弹出消息对话框小程序代码
  5. lora信号测试小助手_433m无线收发模块LoRaF30如何进行距离测试
  6. 微服务模块综合管理(模块视图管理,自动化热部署,前端资源实时刷新......)
  7. mybatis Table book.t_abmin not find
  8. 12月13日云栖精选夜读 | 干货 :5个提醒,让你远离“数据呆”
  9. Linux命令(8):headtail命令
  10. Linux 6.5选包截图