# Set<E>.from constructor

Set<E>.from(Iterable elements)

Creates a Set that contains all `elements`.

All the `elements` should be instances of `E`. The `elements` iterable itself can have any type, so this constructor can be used to down-cast a `Set`, for example as:

    Set<SuperType> superSet = ...;
    Set<SubType> subSet =
        new Set<SubType>.from(superSet.where((e) => e is SubType));

The created Set is a LinkedHashSet. As such, it considers elements that are equal (using operator ==) to be indistinguishable, and requires them to have a compatible Object.hashCode implementation.

The set is equivalent to one created by `new LinkedHashSet<E>.from(elements)`.

## Implementation

    factory Set.from(Iterable elements) = LinkedHashSet<E>.from;