Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.common.collect
Class Collections2

    java.lang.Object
      com.google.common.collect.Collections2

    @GwtCompatible
    public final class Collections2

extends Object

Provides static methods for working with `Collection` instances.

Since:
  2.0 (imported from Google Collections Library)
Author:
  Chris Povirk, Mike Bostock, Jared Levy

Method Summary
`static
`<E> Collection<E>`
` | `filter(Collection<E> unfiltered, Predicate<? super E> predicate)` Returns the elements of `unfiltered` that satisfy a predicate.
`static
`<F,T> Collection<T>`
` | `transform(Collection<F> fromCollection, Function<? super F,T> function)` Returns a collection that applies `function` to each element of `fromCollection`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### filter

    public static <E> Collection<E> filter(Collection<E> unfiltered,
                                           Predicate<? super E> predicate)

  Returns the elements of `unfiltered` that satisfy a predicate. The returned collection is a live view of `unfiltered`; changes to one affect the other.

  The resulting collection's iterator does not support `remove()`, but all other collection methods are supported. When given an element that doesn't satisfy the predicate, the collection's `add()` and `addAll()` methods throw an `IllegalArgumentException`. When methods such as `removeAll()` and `clear()` are called on the filtered collection, only elements that satisfy the filter will be removed from the underlying collection.

  The returned collection isn't threadsafe or serializable, even if `unfiltered` is.

  Many of the filtered collection's methods, such as `size()`, iterate across every element in the underlying collection and determine which elements satisfy the filter. When a live view is not needed, it may be faster to copy `Iterables.filter(unfiltered, predicate)` and use the copy.

  Warning: `predicate` must be consistent with equals, as documented at `Predicate.apply(T)`. Do not provide a predicate such as `Predicates.instanceOf(ArrayList.class)`, which is inconsistent with equals. (See `Iterables.filter(Iterable, Class)` for related functionality.)

### transform

    public static <F,T> Collection<T> transform(Collection<F> fromCollection,
                                                Function<? super F,T> function)

  Returns a collection that applies `function` to each element of `fromCollection`. The returned collection is a live view of `fromCollection`; changes to one affect the other.

  The returned collection's `add()` and `addAll()` methods throw an `UnsupportedOperationException`. All other collection methods are supported, as long as `fromCollection` supports them.

  The returned collection isn't threadsafe or serializable, even if `fromCollection` is.

  When a live view is not needed, it may be faster to copy the transformed collection and use the copy.

  If the input `Collection` is known to be a `List`, consider `Lists.transform(java.util.List, com.google.common.base.Function)`. If only an `Iterable` is available, use `Iterables.transform(java.lang.Iterable, com.google.common.base.Function)`.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010-2011. All Rights Reserved.