java 的hashmap_【深入Java基础】HashMap的基本用法

本文详细介绍了HashMap的基本用法,包括创建对象、添加与删除键值对、替换元素等操作,并提供了遍历HashMap及判断元素是否存在的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HashMap的基本用法

创建HashMap对象

HashMap hashMap = new HashMap<>();

添加键值对

添加元素时,如果key已经存在,则返回旧value,并将新的value存到该key中;如果key不存在,则返回null

hashMap.put("aa",1);

hashMap.put("bb",2);

hashMap.put("cc",3);

put方法会覆盖原有的value,而另一种put方法不会覆盖:putIfAbsent(key,value)

hashMap.putIfAbsent("aa",4);

该方法首先会判断key是否存在,如果存在且value不为null,则不会覆盖原有的value,并返回原来的value;如果key不存在或者key的value为null,则会put进新值,并返回null。

另外,两种方法当key=null时,并不会抛出异常,而是按照一个特殊的方法进行存储。

删除元素

如果之前对相同key多次put,则可以移除key对应的旧value,而最新的value不受影响。(×)

remove(key):删除成功(存在key),返回被删除的key对应的value,否则返回null。

remove(key,value):删除成功(存在entry),返回true,否则返回false。

hashMap.remove("bb");

hashMap.remove("aa",5);

获取元素

对于获取元素,有get(key)和getOrDefault(key,defaultValue)(1.8之后)两种方法.

hashMap.get("cc")

getOrDefault在key不存在时,返回一个defaultValue。在没有该方法前需要这样写:

Integer bbValue = hashMap.containsKey("bb")?hashMap.get("bb"):-1;

有了getOrDefault可以这样写:

getOrDefault("aa",-1)//key=aa不存在,所以返回默认value -1

元素遍历

Iterator iterator = hashMap.keySet().iterator();

while (iterator.hasNext()){

String key = (String)iterator.next();

System.out.println(key+"="+hashMap.get(key));

}

第二种遍历方法:

Iterator iterator1 = hashMap.entrySet().iterator();

while (iterator1.hasNext()){

Map.Entry entry = (Map.Entry) iterator1.next();

String key = (String) entry.getKey();

Integer value = (Integer) entry.getValue();

System.out.println(key+"="+value);

}

判断key或value是否存在

hashMap.containsKey("aa");

hashMap.containsValue(1);

替换元素

replace方法用来替换元素。

hashMap.replace("ff",5);

对于存在的key,调用replace方法,会替换原来的value,并返回旧value,这和put的效果是一样的;对于不存在的key,replace方法什么都不做。这就是他和put的区别(put在key不存在时将新key-value加入map)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值