Java HashMap 怎么用

很多朋友刚学Java的时候,都会接触到HashMap,但总觉得它像个“神秘收纳盒”——知道能存东西,却摸不清该怎么用才顺手。其实只要把它当成家里的抽屉收纳格来理解,就能快速上手。

先搞懂:HashMap到底是啥?

你可以把HashMap想象成家里的“钥匙-物品收纳盒”:每一样东西都得配一把独一无二的钥匙,拿东西时不用翻遍整个盒子,直接找钥匙就能快速拿到。在Java里,HashMap就是专门用来存“键值对”的工具,键(Key)就像钥匙,值(Value)就是要存的东西,而且键绝对不能重复,值可以随便重复,这也是它最实用的特点。

Java HashMap 怎么用

举个生活化的例子:你要记录家里每个房间的人数,就可以用HashMap来存,比如键是“卧室”,值是3;键是“客厅”,值是2,这样找“卧室的人数”时,直接输键就能拿到结果,不用一个个数。

第一步:先把HashMap“准备好”

要使用HashMap,得先在代码里告诉Java“我要准备这个收纳盒了”,就像买个盒子回家之前要先拆包装。这一步叫“创建HashMap对象”,写法也很简单,就像:

`java

// 创建一个能存字符串键、整数数值的HashMap

HashMap<String, Integer> roomPeople = new HashMap<>();

`

这里的<>里的内容是告诉程序,这个HashMap里的键是字符串(比如“卧室”这种文字),值是整数(比如人数),避免存错东西。如果没写这个,程序可能会乱,所以新手一定要记得加。

第二步:往HashMap里“放东西”

准备好盒子,接下来就要往里放键值对了,就像把钥匙和对应的物品放进收纳盒。用put()方法就行,还是用刚才房间的例子:

`java

// 放第一个键值对:卧室对应3人

roomPeople.put("卧室", 3);

// 放第二个键值对:客厅对应2人

roomPeople.put("客厅", 2);

`

这里要注意,如果放的键已经存在,新的值会自动替换旧的——比如你再写roomPeople.put("卧室", 4),原来的3就会变成4,相当于更新了卧室的人数,这个特点能帮你快速修改数据。

第三步:从HashMap里“拿东西”

放完东西,最常用的就是拿出来用,就像拿着钥匙找对应物品。用get()方法,传进去要找的键,就能拿到对应的值:

`java

// 拿卧室的人数

int bedroomNum = roomPeople.get("卧室");

// 打印出来,结果就是3

System.out.println(bedroomNum);

`

如果传的键根本没在HashMap里,会拿到null,就像你拿了一把不存在的钥匙,当然找不到东西,新手用的时候可以加个判断,避免出错。

第四步:检查和修改HashMap里的内容

有时候你需要知道盒子里有多少对东西,或者某个键有没有存在,这时候可以用两个常用方法:size()看数量,containsKey()查键是否存在:

`java

// 看总共有多少个键值对,这里结果是2

System.out.println(roomPeople.size());

// 检查有没有“书房”这个键,结果是false

System.out.println(roomPeople.containsKey("书房"));

`

如果要删除某个键值对,就用remove(),比如roomPeople.remove("客厅"),这样“客厅”对应的2就会被删掉。

最后提醒几个新手常踩的坑

很多人用HashMap时会搞错“键不能重复”的规则,比如重复放同一个键,后面的会覆盖前面的,这个要注意;另外,键最好用不可变的类型,比如字符串、整数,别用那种容易改的对象,不然会出现“钥匙变了却找不到东西”的尴尬。

总的来说,HashMap就是个“靠钥匙快速找东西”的工具,只要记住“put存、get拿、键唯一”这几个核心,日常用到的场景基本都能覆盖,慢慢用几次就能摸透它的用法了。

上一篇 TypeScript null 和 undefined 怎么处理