我正在使用Google的ImmutableList类http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/ImmutableList.html
我正在寻找一个方法,它接受一个现有的ImmutableList和一个额外的元素(相同类型),并返回一个 new ImmutableList,它包含旧元素和新元素。
也许我在文档中遗漏了一些明显的东西?
答案 0 :(得分:5)
public static final ImmutableList<Foo> result
= new ImmutableList.Builder<Foo>()
.addAll(originalList)
.add(new Foo())
.build();
答案 1 :(得分:2)
您可以通过以下方式执行此操作:
ImmutableList<YourType> newList = ImmutableList.copyOf(
Iterables.concat(existingList, ImmutableList.of(newElement))
);
编辑: @JB Nizets解决方案看起来更具可读性:)