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?
public static final ImmutableList<Foo> result
= new ImmutableList.Builder<Foo>()
.addAll(originalList)
.add(new Foo())
.build();
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 :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With