Pre*_*raj 28 java collections guava
有一些实用方法可以创建ImmutableMaplike Immutable.of(Key, value)和它的重载.
但这种方法在课堂上HashMap或课堂上都不存在.
有没有更好的方法来做到这一点或番石榴假设这样的地图总是一个恒定的地图,是最好的选择,并不需要提供实用程序.LinkedHashMapMapsImmutableMapHashMap
Jes*_*per 17
为什么你想要那些常规HashMap或LinkedHashMap?你可以这样做:
Map<String, Object> map = Maps.newHashMap();
map.put(key, value);
Run Code Online (Sandbox Code Playgroud)
事情ImmutableMap是,创建它有点麻烦; 首先需要创建一个Builder,然后将键值对放在构建器中,然后调用build()它来创建你的ImmutableMap.ImmutableMap.of()如果要创建ImmutableMap具有单个键值对的方法,则此方法会缩短写入时间.
如果您不使用该ImmutableMap.of()方法,请考虑您必须编写的内容:
ImmutableMap<String, Object> map = ImmutableMap.builder()
.put(key, value);
.build();
Run Code Online (Sandbox Code Playgroud)
小智 15
尝试 Maps.newHashMap(ImmutableMap.of(...))
不同之处在于,对于不可变的地图,您必须预先提供所有内容,因为在构建之后您无法更改它.对于可变映射,您只需创建映射然后添加条目即可.诚然,这使得它稍硬创造一个表达的地图,但是,这并不倾向于是在那里你会想要一个可变的地图无论如何,以我的经验问题.
你不能使用这里描述copyOf的方法吗?ImmutableMap
它应该是这样的
Map newImmutableMap = ImmutableMap.copyOf(yourMap);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44416 次 |
| 最近记录: |