如何初始化Map,java
原来路径:https://www.itranslater.com/qa/details/2104117160695038976
java - 如何初始化静态Map?
import com.google.common.collect.ImmutableMap; import java.util.AbstractMap.SimpleEntry; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; /** * @Auther: Liruilong * @Date: 2020/7/25 13:40 * @Description: */ public class test { // 静态Map的初始化,实际情况中,可以使用枚举代替 // 方法一 public static final Map<Integer, String> myMap_0 = new HashMap<Integer, String>(); static { myMap_0.put(1, "one"); myMap_0.put(2, "two"); } // 方法二 JDK5 public static final Map<Integer, String> myMap_1 = new HashMap<Integer, String>() {{ put(1, "one"); put(2, "two"); }}; // 方法三 Guava static final Map<Integer,String> myMap_2 = ImmutableMap.<Integer, String> builder().put(1, "one").put(2, "two").build(); // 方法四,不超过5个的时候 Guava static final Map<Integer, String> myMap_3 = ImmutableMap.of( 1, "one", 2, "two" ); // 方法五 Collections.unmodifiableMap() 通过工具类实现 // 方法六 JDK8 static final Map<Integer, String> MY_MAP = Arrays.stream(new Object[][]{ {1, "one"}, {2, "two"}, }).collect(Collectors.toMap(kv -> (Integer) kv[0], kv -> (String) kv[1])); private static final Map<Integer, String> myMap = Stream.of( new SimpleEntry<>(1, "one"), new SimpleEntry<>(2, "two"), new SimpleEntry<>(3, "three"), new SimpleEntry<>(4, "four"), new SimpleEntry<>(5, "five"), new SimpleEntry<>(6, "six"), new SimpleEntry<>(7, "seven"), new SimpleEntry<>(8, "eight"), new SimpleEntry<>(9, "nine"), new SimpleEntry<>(10, "ten")) .collect(Collectors.toMap(SimpleEntry::getKey, SimpleEntry::getValue)); }
加油,愿被这世界温柔以待 ^_^
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?