HashMap的使用方法及注意事项
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的使用方法及注意事项相关推荐
- Dubbo+zookeeper使用方法以及注意事项
Dubbo+zookeeper使用方法以及注意事项 最近在一个项目中想做一个数据库查询的服务,目的是将数据库查询这块从程序中脱离出来,形成一个公共的服务平台,大家都可以调用,经过考虑决定选用Dubbo ...
- HashMap的遍历方法
使用工具 IDEA2018.2 使用说明 使用迭代器,即创建Iterator对象,Iterator是一个接口,也有泛型 hasNext方法判断是否已经遍历完, next方法取当前遍历的对象 HashM ...
- 【PC工具】200412更新百度网盘下载工具——最终最简单百度网盘下载方法及注意事项...
今天有朋友在群里问会员账号,上次好像说过,这种公用的会员账号基本下载量都超了,同样也限速,所以这种账号一般都用来找资源. 百度网盘这个题材也来回来去发过好几个工具了,太麻烦不说,老这么道高一尺魔高一丈 ...
- 【PC工具】200324更新百度网盘下载工具——最新百度网盘下载工具使用方法及注意事项...
今天(200324)更新一个大牛的个人项目pdown,大家可以收藏一下备用(为啥是备用呢,细心的小伙伴应该发现我把标题中的高速两个字去掉了). 先发项目地址:没错还是那个神奇的网站(大神奇人聚集的地方 ...
- 【PC工具】更新百度网盘高速下载工具——亿寻使用方法及注意事项
之前分享的工具和方法大部分都不好用了,我也就不保留了,有需要的朋友可以翻看之前的历史文章. 今天分享一个目前比较主流的下载工具"亿寻",可能很多朋友都用过了,这里我简单说一下使用方 ...
- php获取表单$_files,PHP中$_FILES的使用方法及注意事项说明
$_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传 $_FILES数组内容 ...
- 佳能g3800故障灯说明书_汽车仪表灯的使用方法以及注意事项
能够准确地识别仪表盘上的数据是每个驾驶员的必要能力,但是如今,汽车技术日新月异,大量先进技术已应用于我们的爱车上.汽车仪表盘上的指示灯和中控台上的指示灯按钮变得越来越繁杂,准确识别这些抽象按钮已不再是 ...
- 电脑安全注意事项_松下洗衣机维修方法及注意事项
阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注. 注:本文转载自网络,不代表 ...
- go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别
入门示例 package main import "fmt" //定义老师结构体,将老师中的各个属性 统一放入结构体中管理: type Teacher struct{//变量名字大 ...
最新文章
- arm neon RGB转Gray的例子
- 云技术-SaaS架构初步理解
- 导出excel 后 页面按钮失效(页面假死)
- delphi listview 添加数据 慢_ListView 的缓存机制
- mpvue 微信小程序api_基于mpvue构建微信和支付宝小程序(1)
- as3 htmlText 的bug
- 宝洁侮辱女性?其公众号发文 “女人脚臭是男人的5倍”,官方回应了...
- oracle无+密码登陆,Oracle 11g通过wallet实现无密码登录
- 吴恩达深度学习1.4笔记_Neural Networks and Deep Learning_深层神经网络
- python 中统计超大文件行数
- DragonBones快速入门指南
- WCF如何使用X509证书(安装和错误)(二)
- python 会议室预约系统解决方案_会议预约系统_智能会议预约管理系统_轻松实现会议管理解决方案...
- Linux内核文件系统7
- 小众APP分享,有兴趣的朋友快来挖宝
- python中pprint模块
- IDEA 解决 artifacts not found 问题
- 计算机安全使用环境及要求吗,计算机安全使用环境及要求02
- java date是cst_Java CST 日期问题
- EditPlus的安装与破解
热门文章
- php的具体配置学习笔记
- zoj1095 Humble Numbers(DP)
- 代码意识流——花朵数问题(七)
- python利用tkinter弹出消息对话框小程序代码
- lora信号测试小助手_433m无线收发模块LoRaF30如何进行距离测试
- 微服务模块综合管理(模块视图管理,自动化热部署,前端资源实时刷新......)
- mybatis Table book.t_abmin not find
- 12月13日云栖精选夜读 | 干货 :5个提醒,让你远离“数据呆”
- Linux命令(8):headtail命令
- Linux 6.5选包截图