从不可变的集合创建可变集合

Wic*_*koo 5 java guava

假设我Map使用Guava的库创建了以下内容:( List<Integer>也是不可变的)

Map<String, List<Integer>> map = ImmutableMap.builder()...
Run Code Online (Sandbox Code Playgroud)

我将此映射传递给一个类,我想在其中创建一个可变副本并对其进行修改.它当然可以手动完成,但有没有办法将嵌套的不可变集合转换回可变集合?

Kur*_*ver 2

正如所指出的,我会使用 anImmutableListMultimap<String, Integer>而不是ImmutableMap<String, ImmutableList<Integer>>

然后,如果您想要一个可变副本,您可以将不可变多重映射传递给create可变实现之一ListMultimapArrayListMultimapLinkedListMultimap)上的静态工厂方法。