Как всегда для любых коллекций, посмотрите на google-collection . Если у вас есть Set
с, а именно (не просто общая коллекция), вы хотите:
Set<String> combined = Sets.union(foo, bar);
, который создает неизменяемое представление двух наборов. То есть изменения в foo
или bar
будут отражены в combined
(но combined.add()
и т. Д. Не поддерживаются).
Для более общего случая у вас есть Iterables.concat()
, но это просто позволяет вам перебирать объединенный элемент, интерфейс Iterable
, очевидно, не включает contains
, так что вы там немного запутались.
Другие классы утилит коллекций в google-collection (com.google.common.collect.Lists
и com.google.common.collect.Collections2
) не содержат никаких методов конкатенации. Не понимаю, почему они не могли, но в данный момент они этого не делают.