ImmutableMap.of() Maps 中 HashMap 的解决方法?

2022-09-01 11:48:08

有实用程序方法可以创建类似及其重载。

但是这样的方法对于课堂上或课堂上都不存在。

有没有更好的方法来做到这一点,或者Guava假设这样的地图总是一个常量地图,并且是最好的选择,不需要为 提供实用程序。ImmutableMapImmutable.of(Key, value)HashMapLinkedHashMapMapsImmutableMapHashMap


答案 1

你为什么想要那些常规或?你可以这样做:HashMapLinkedHashMap

Map<String, Object> map = Maps.newHashMap();
map.put(key, value);

问题是创建起来有点麻烦;您首先需要创建一个 ,然后将键值对放在构建器中,然后调用它来创建您的.如果要创建具有单个键值对的,则该方法可以缩短写入时间。ImmutableMapBuilderbuild()ImmutableMapImmutableMap.of()ImmutableMap

考虑一下,如果你不使用这个方法,你必须写些什么:ImmutableMap.of()

ImmutableMap<String, Object> map = ImmutableMap.builder()
    .put(key, value);
    .build();

答案 2

尝试Maps.newHashMap(ImmutableMap.of(...))

Maps.newHashMap(Map map)