Map.of("key", "value")和Collections.singletonMap("key", "value")有什么区别吗?
如果我只需要存储Java 9和更高版本的一个映射,那么是否有哪个做法比另一个更好呢?
发布于 2022-05-20 07:09:42
Map.of
Map.of只能在Java9和更高版本中使用。它可以用来存储0到10个键值对。请参见https://docs.oracle.com/javase/9/docs/api/java/util/Map.html#of--和下面的内容。另见https://docs.oracle.com/javase/9/docs/api/java/util/Map.html#immutable
-- Map.of()和Map.ofEntries()静态工厂方法为创建不可变映射提供了一种方便的方法。这些方法创建的Map实例具有以下特征:
,
类似地,也有List.of和Set.of。
Collections.singletonMap
Collections.singletonMap是从Java1.3开始提供的。它只能用于存储一个键值对。见https://docs.oracle.com/javase/9/docs/api/java/util/Collections.html#singletonMap-K-V-。
一般来说,单例总是包含一个值。单例类是只有一个实例的类。单例映射有一个映射,单例列表有一个元素,依此类推。
https://stackoverflow.com/questions/72314838
复制相似问题