有一些实用方法可以创建ImmutableMap(例如Immutable.of(Key, value))及其重载。
但是HashMap类中的LinkedHashMapMaps不存在此类方法。
有没有更好的方法可以做到这一点,或者Guava假设这样的映射始终是恒定映射,并且ImmutableMap是最好的选择,并且不需要为HashMap提供实用程序。

最佳答案

为什么要使用常规的HashMapLinkedHashMap?您可以这样做:

Map<String, Object> map = Maps.newHashMap();
map.put(key, value);
ImmutableMap的作用是创建起来有点麻烦。您首先需要制作一个Builder,然后将键值对放入构建器中,然后在其上调用build()来创建ImmutableMap。如果要创建具有单个键值对的ImmutableMap.of(),则ImmutableMap方法可以缩短编写时间。

考虑一下如果不使用ImmutableMap.of()方法必须写些什么:
ImmutableMap<String, Object> map = ImmutableMap.builder()
    .put(key, value);
    .build();

09-27 22:19