Interface Set<T>

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      Set<T> append​(T value)
      Create a new list containing all elements in this instance and appending the provided value to the end of the new list.
      default Set<T> complement​(java.lang.Iterable<T> iterable)
      Creates a new set that contains elements that are only in this, but not contained within iterable.
      Set<T> complement​(java.lang.Iterable<T>... iterables)
      Creates a new set that contains elements that are only in this, but not contained within any of the iterables.
      Set<T> distinctBy​(java.util.Comparator<T> comparator)
      Creates a distinct list based upon the provided comparator.
      Set<T> filter​(java.util.function.Predicate<T> predicate)
      Filter out an element if it does not match the supplied predicate.
      default T head()
      Fetch the head of the collection and return it.
      default Set<T> intersect​(java.lang.Iterable<T> iterable)
      Creates a set that contains only the elements that are in both this and the provided iterable.
      Set<T> intersect​(java.lang.Iterable<T>... iterables)
      Creates a set that contains only the elements that are in all collections and this.
      <U> Set<U> map​(java.util.function.Function<T,​U> mapper)
      Perform a mapping operation on the elements in the stream.
      Set<T> orElse​(java.lang.Iterable<? extends T> other)
      Returns either this if it is non empty, otherwise will return the provided other.
      Set<T> orElse​(java.util.function.Supplier<? extends java.lang.Iterable<? extends T>> supplier)
      Returns either this if it is non empty, otherwise the provided supplier is evaluated and returned.
      default Set<T> reject​(java.util.function.Predicate<T> predicate)
      Return a list that removes all elements that match the predicate provided.
      Set<T> remove​(int index)
      Removes an element from the list and returns a new instance of the list.
      Set<T> tail()
      Build a new collection with all elements except for the head.
      java.util.Set<T> toJava()
      Transform this collection into one supported natively in Java.
      Set<T> union​(java.lang.Iterable<T> iterable)
      Create a new sequence with all elements of this sequence combined with the elements of the provided iterable.
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Method Detail

      • append

        Set<T> append​(T value)
        Description copied from interface: List
        Create a new list containing all elements in this instance and appending the provided value to the end of the new list.

        Example:

         // will result in a list with 2, 3, 4, 1
            List(2, 3, 4).append(1)
         
        Specified by:
        append in interface List<T>
        Parameters:
        value - the value to append to the list
        Returns:
        the new list with the value appended
      • distinctBy

        Set<T> distinctBy​(java.util.Comparator<T> comparator)
        Description copied from interface: List
        Creates a distinct list based upon the provided comparator. If a duplicate is found only the first match will be included in the returned list.
        Specified by:
        distinctBy in interface List<T>
        Parameters:
        comparator - the comparator to use for distinct check
        Returns:
        the distinct list
      • complement

        default Set<T> complement​(java.lang.Iterable<T> iterable)
        Creates a new set that contains elements that are only in this, but not contained within iterable.

        Example:

         // the example would be a Set(1, 2)
           Set result = Set(1, 2, 3).complement(Set(3, 4));
         
        Parameters:
        iterable - the iterable to perform the complement with
        Returns:
        the product of the complement operation
      • complement

        Set<T> complement​(java.lang.Iterable<T>... iterables)
        Creates a new set that contains elements that are only in this, but not contained within any of the iterables.

        Example:

         // the example would be a Set(1, 2)
           Set result = Set(1, 2, 3).complement(Set(3, 4));
         
        Parameters:
        iterables - the iterables to perform the complement with
        Returns:
        the product of the complement operation
      • filter

        Set<T> filter​(java.util.function.Predicate<T> predicate)
        Description copied from interface: Streamable
        Filter out an element if it does not match the supplied predicate. This operation will iterate over all elements and return a new set containing only the elements where the predicate returns true for.
        Specified by:
        filter in interface Collection<T>
        Specified by:
        filter in interface List<T>
        Specified by:
        filter in interface Streamable<T>
        Specified by:
        filter in interface Traversable<T>
        Parameters:
        predicate - the predicate to apply to the contents of this
        Returns:
        the filtered value
      • head

        default T head()
        Description copied from interface: Collection
        Fetch the head of the collection and return it. The following operations will all return the same value for a non empty collection.
          Collection(0, 1).get();
           Collection(0, 1).head();
         
        The caller must verify the collection is not empty using either Collection.size() or Collection.isEmpty() to prevent a NoSuchElementException to be thrown.
        Specified by:
        head in interface Collection<T>
        Returns:
        the first element in the collection
      • intersect

        default Set<T> intersect​(java.lang.Iterable<T> iterable)
        Creates a set that contains only the elements that are in both this and the provided iterable.

        Example:

         // the example would be a Set(3)
           Set result = Set(1, 2, 3).intersect(Set(3, 4));
         
        Parameters:
        iterable - the iterable to perform the intersects with
        Returns:
        the product of the intersect operation
      • intersect

        Set<T> intersect​(java.lang.Iterable<T>... iterables)
        Creates a set that contains only the elements that are in all collections and this.
        We say that A intersects (meets) B at an element x if x belongs to A and B. We say that A intersects (meets) B if A intersects B at some element. A intersects B if their intersection is inhabited.

        Example:

         // the example would be a Set(3)
           Set result = Set(1, 2, 3).intersect(Set(3, 4));
         
        Parameters:
        iterables - the set of iterables the intersection should be calculated on
        Returns:
        the product of the intersect operation
      • map

        <U> Set<U> map​(java.util.function.Function<T,​U> mapper)
        Description copied from interface: Streamable
        Perform a mapping operation on the elements in the stream.

        This operation will loop over all elements in the stream and apply the mapper method. The mapped values will be returned in as a new stream of elements.

        Specified by:
        map in interface Collection<T>
        Specified by:
        map in interface List<T>
        Specified by:
        map in interface Streamable<T>
        Specified by:
        map in interface Traversable<T>
        Type Parameters:
        U - the type of object expected as a result
        Parameters:
        mapper - the mapping functionality
        Returns:
        the mapped object
      • orElse

        Set<T> orElse​(java.lang.Iterable<? extends T> other)
        Description copied from interface: Traversable
        Returns either this if it is non empty, otherwise will return the provided other.
        Specified by:
        orElse in interface Collection<T>
        Specified by:
        orElse in interface List<T>
        Specified by:
        orElse in interface Traversable<T>
        Parameters:
        other - the alternative
        Returns:
        this Traversable if non empty, or other
      • orElse

        Set<T> orElse​(java.util.function.Supplier<? extends java.lang.Iterable<? extends T>> supplier)
        Description copied from interface: Traversable
        Returns either this if it is non empty, otherwise the provided supplier is evaluated and returned.
        Specified by:
        orElse in interface Collection<T>
        Specified by:
        orElse in interface List<T>
        Specified by:
        orElse in interface Traversable<T>
        Parameters:
        supplier - the supplier to generate the other
        Returns:
        this (@code Traversable} if non empty, otherwise other
      • reject

        default Set<T> reject​(java.util.function.Predicate<T> predicate)
        Description copied from interface: Traversable
        Return a list that removes all elements that match the predicate provided.
        Specified by:
        reject in interface Collection<T>
        Specified by:
        reject in interface List<T>
        Specified by:
        reject in interface Traversable<T>
        Parameters:
        predicate - the predicate to use
        Returns:
        the elements that do not match the predicate
      • remove

        Set<T> remove​(int index)
        Description copied from interface: List
        Removes an element from the list and returns a new instance of the list.
        Specified by:
        remove in interface List<T>
        Parameters:
        index - the index of the element to be removed
        Returns:
        the new instance of the list without the element at the provided index
      • tail

        Set<T> tail()
        Description copied from interface: Collection
        Build a new collection with all elements except for the head. If there is only one element present then an empty collection will be returned. If the operation is called on an empty collection an NoSuchElementException will be thrown.
        Specified by:
        tail in interface Collection<T>
        Specified by:
        tail in interface List<T>
        Returns:
        a collection containing the tail
      • toJava

        java.util.Set<T> toJava()
        Transform this collection into one supported natively in Java.
        Returns:
        the native java collection
      • union

        Set<T> union​(java.lang.Iterable<T> iterable)
        Description copied from interface: List
        Create a new sequence with all elements of this sequence combined with the elements of the provided iterable. The elements in this sequence will be added before the provided iterable in the returned sequence.

        Example:

         // the example would be a List(1, 2, 3, 4)
           List<Integer> result = List(1, 2).union(List(3, 4));
         
        Specified by:
        union in interface List<T>
        Parameters:
        iterable - the elements to be added
        Returns:
        the new list containing a union between this and the iterable