找回密码
 会员注册
查看: 45|回复: 0

java中初始化map的几种方式

[复制链接]

5

主题

0

回帖

16

积分

新手上路

积分
16
发表于 2024-9-3 17:52:09 | 显示全部楼层 |阅读模式
在Java中初始化一个Map并赋值可以通过多种方式完成。以下是一些常见的初始化并赋值给Map的示例:使用Java7之前的语法:Mapmap=newHashMap();map.put("key1","value1");map.put("key2","value2");map.put("key3","value3");1234使用Java7的菱形语法(diamondoperator):Mapmap=newHashMap();map.put("key1","value1");map.put("key2","value2");map.put("key3","value3");1234使用Java8的Map.of静态工厂方法(适用于不可变的Map):Mapmap=Map.of("key1","value1","key2","value2","key3","value3");//注意:Map.of创建的是不可变的Map,尝试修改会抛出UnsupportedOperationException12使用Java8的Map.ofEntries静态工厂方法(适用于可变的Map):Mapmap=Map.ofEntries(Map.entry("key1","value1"),Map.entry("key2","value2"),Map.entry("key3","value3"));//注意:Map.ofEntries创建的是一个可变的Map123456使用Java9引入的Map的computeIfAbsent方法初始化并赋值:Mapmap=newHashMap();map.computeIfAbsent("key1",k->"value1");map.computeIfAbsent("key2",k->"value2");map.computeIfAbsent("key3",k->"value3");1234使用Java8流和Collectors.toMap:Mapmap=Stream.of(newAbstractMap.SimpleEntry("key1","value1"),newAbstractMap.SimpleEntry("key2","value2"),newAbstractMap.SimpleEntry("key3","value3")).collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue));12345使用Java10及以上版本的Map的merge方法:Mapmap=newHashMap();map.merge("key1","value1",(oldValue,newValue)->newValue);map.merge("key2","value2",(oldValue,newValue)->newValue);map.merge("key3","value3",(oldValue,newValue)->newValue);1234在这些示例中,HashMap是Map接口的一个常见实现,但你也可以使用TreeMap、LinkedHashMap或其他任何实现了Map接口的类。选择哪个类取决于你的特定需求,例如排序或插入顺序。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-13 11:00 , Processed in 5.854396 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表