问题
I'm using Google's ImmutableList class http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/ImmutableList.html
I'm looking for a method which takes an existing ImmutableList and an extra element (of the same type), and returns a new ImmutableList that contains the old elements plus the new one.
Perhaps I'm missing something obvious in the docs?
回答1:
public static final ImmutableList<Foo> result
= new ImmutableList.Builder<Foo>()
.addAll(originalList)
.add(new Foo())
.build();
回答2:
You could do it the following way:
ImmutableList<YourType> newList = ImmutableList.copyOf(
Iterables.concat(existingList, ImmutableList.of(newElement))
);
Edit: @JB Nizets solution looks more readable :)
来源:https://stackoverflow.com/questions/28853935/returning-a-new-immutablelist-that-is-an-existing-list-plus-an-extra-element