org.apache.commons.collections4.set

## Class TransformedSet<E>

- java.lang.Object
- - org.apache.commons.collections4.collection.AbstractCollectionDecorator<E>
  - - org.apache.commons.collections4.collection.TransformedCollection<E>
    - - org.apache.commons.collections4.set.TransformedSet<E>

- Type Parameters:
    `E` - the type of the elements in this set
  All Implemented Interfaces:
    Serializable, Iterable<E>, Collection<E>, Set<E>
  Direct Known Subclasses:
    TransformedSortedSet

      public class TransformedSet<E>
      extends TransformedCollection<E>
      implements Set<E>

  Decorates another `Set` to transform objects that are added.

  The add methods are affected by this class. Thus objects must be removed or searched for using their transformed form. For example, if the transformation converts Strings to Integers, you must use the Integer form to remove objects.

  This class is Serializable from Commons Collections 3.1.

  Since:
    3.0
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.commons.collections4.collection.TransformedCollection

      `transformer`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `TransformedSet(Set<E> set, Transformer<? super E,? extends E> transformer)` Constructor that wraps (not copies).

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object object)`
    `int` | `hashCode()`
    `static <E> Set<E>` | `transformedSet(Set<E> set, Transformer<? super E,? extends E> transformer)` Factory method to create a transforming set that will transform existing contents of the specified set.
    `static <E> TransformedSet<E>` | `transformingSet(Set<E> set, Transformer<? super E,? extends E> transformer)` Factory method to create a transforming set.

    - ### Methods inherited from class org.apache.commons.collections4.collection.TransformedCollection

      `add, addAll, transform, transform, transformedCollection, transformingCollection`

    - ### Methods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecorator

      `clear, contains, containsAll, decorated, isEmpty, iterator, remove, removeAll, removeIf, retainAll, setCollection, size, toArray, toArray, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.util.Set

      `add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray`

    - ### Methods inherited from interface java.util.Collection

      `parallelStream, removeIf, stream`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach`

- - ### Constructor Detail

    - #### TransformedSet

          protected TransformedSet(Set<E> set,
                                   Transformer<? super E,? extends E> transformer)

      Constructor that wraps (not copies).

      If there are any elements already in the set being decorated, they are NOT transformed.

      Parameters:
        `set` - the set to decorate, must not be null
        `transformer` - the transformer to use for conversion, must not be null
      Throws:
        `NullPointerException` - if set or transformer is null

  - ### Method Detail

    - #### transformingSet

          public static <E> TransformedSet<E> transformingSet(Set<E> set,
                                                              Transformer<? super E,? extends E> transformer)

      Factory method to create a transforming set.

      If there are any elements already in the set being decorated, they are NOT transformed. Contrast this with `transformedSet(Set, Transformer)`.

      Type Parameters:
        `E` - the element type
      Parameters:
        `set` - the set to decorate, must not be null
        `transformer` - the transformer to use for conversion, must not be null
      Returns:
        a new transformed set
      Throws:
        `NullPointerException` - if set or transformer is null
      Since:
        4.0

    - #### transformedSet

          public static <E> Set<E> transformedSet(Set<E> set,
                                                  Transformer<? super E,? extends E> transformer)

      Factory method to create a transforming set that will transform existing contents of the specified set.

      If there are any elements already in the set being decorated, they will be transformed by this method. Contrast this with `transformingSet(Set, Transformer)`.

      Type Parameters:
        `E` - the element type
      Parameters:
        `set` - the set to decorate, must not be null
        `transformer` - the transformer to use for conversion, must not be null
      Returns:
        a new transformed set
      Throws:
        `NullPointerException` - if set or transformer is null
      Since:
        4.0

    - #### equals

          public boolean equals(Object object)

      Specified by:
        `equals` in interface `Collection<E>`
      Specified by:
        `equals` in interface `Set<E>`
      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in interface `Collection<E>`
      Specified by:
        `hashCode` in interface `Set<E>`
      Overrides:
        `hashCode` in class `Object`

Copyright © 2001–2019 The Apache Software Foundation. All rights reserved.