|
在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接口的类。选择哪个类取决于你的特定需求,例如排序或插入顺序。
|
|