Class SetMapper<E,R>

All Implemented Interfaces:
Iterable<R>, Collection<R>, Set<R>
Direct Known Subclasses:
CacheSetMapper

public class SetMapper<E,R> extends CollectionMapper<E,R> implements Set<R>
A set that maps another one to a new one of a possibly different type. Note this set is read only and doesn't accept write operations.

This class currently only accepts a Function that also implements InjectiveFunction so that it can guarantee the resulting mapped values are distinct from each other. This is important as many operations because very costly if this is not true.

Some operations such as Collection.contains(Object) and Collection.containsAll(Collection) may be more expensive then normal since they cannot utilize lookups into the original collection.

Since:
9.0
Author:
wburns
  • Constructor Details

    • SetMapper

      public SetMapper(Set<E> realCollection, Function<? super E,? extends R> mapper)