返回一个新的ImmutableList,它是一个现有列表加上一个额外的元素

fad*_*bee 2 java immutablelist

我正在使用Google的ImmutableList类http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/ImmutableList.html

我正在寻找一个方法,它接受一个现有的ImmutableList和一个额外的元素(相同类型),并返回一个新的 ImmutableList包含旧元素加上新元素.

也许我在文档中遗漏了一些明显的东西?

JB *_*zet 5

public static final ImmutableList<Foo> result
   = new ImmutableList.Builder<Foo>()
       .addAll(originalList)
       .add(new Foo())
       .build();
Run Code Online (Sandbox Code Playgroud)

  • 这不是 OP 问题的明确一部分,但他确实在问题中添加了“结构共享”标签。我同意 Guava 的 `ImmutableList` 不支持这一点。 (2认同)