Class ImmutableUnifiedSet<T>

All Implemented Interfaces:
Serializable, Iterable<T>, Collection<T>, Set<T>, ImmutableCollection<T>, InternalIterable<T>, RichIterable<T>, ImmutableSet<T>, ImmutableSetIterable<T>, SetIterable<T>, UnsortedSetIterable<T>, BatchIterable<T>

final class ImmutableUnifiedSet<T> extends AbstractImmutableSet<T> implements Serializable, BatchIterable<T>
  • Field Details

  • Constructor Details

    • ImmutableUnifiedSet

      private ImmutableUnifiedSet(UnifiedSet<T> delegate)
  • Method Details

    • size

      public int size()
      Description copied from interface: RichIterable
      Returns the number of items in this iterable.
      Specified by:
      size in interface BatchIterable<T>
      Specified by:
      size in interface Collection<T>
      Specified by:
      size in interface RichIterable<T>
      Specified by:
      size in interface Set<T>
    • equals

      public boolean equals(Object other)
      Description copied from interface: SetIterable
      Follows the same general contract as Set.equals(Object).
      Specified by:
      equals in interface Collection<T>
      Specified by:
      equals in interface Set<T>
      Specified by:
      equals in interface SetIterable<T>
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Description copied from interface: SetIterable
      Follows the same general contract as Set.hashCode().
      Specified by:
      hashCode in interface Collection<T>
      Specified by:
      hashCode in interface Set<T>
      Specified by:
      hashCode in interface SetIterable<T>
      Overrides:
      hashCode in class Object
    • contains

      public boolean contains(Object object)
      Description copied from interface: RichIterable
      Returns true if the iterable has an element which responds true to element.equals(object).
      Specified by:
      contains in interface Collection<T>
      Specified by:
      contains in interface RichIterable<T>
      Specified by:
      contains in interface Set<T>
      Overrides:
      contains in class AbstractRichIterable<T>
    • iterator

      public Iterator<T> iterator()
      Specified by:
      iterator in interface Collection<T>
      Specified by:
      iterator in interface Iterable<T>
      Specified by:
      iterator in interface Set<T>
    • getFirst

      public T getFirst()
      Description copied from interface: RichIterable
      Returns the first element of an iterable. In the case of a List it is the element at the first index. In the case of any other Collection, it is the first element that would be returned during an iteration. If the iterable is empty, null is returned. If null is a valid element of the container, then a developer would need to check to see if the iterable is empty to validate that a null result was not due to the container being empty.

      The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use this method, the first element could be any element from the Set.

      Specified by:
      getFirst in interface RichIterable<T>
    • getLast

      public T getLast()
      Description copied from interface: RichIterable
      Returns the last element of an iterable. In the case of a List it is the element at the last index. In the case of any other Collection, it is the last element that would be returned during an iteration. If the iterable is empty, null is returned. If null is a valid element of the container, then a developer would need to check to see if the iterable is empty to validate that a null result was not due to the container being empty.

      The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use this method, the last element could be any element from the Set.

      Specified by:
      getLast in interface RichIterable<T>
    • getOnly

      public T getOnly()
      Description copied from interface: RichIterable
      Returns the element if the iterable has exactly one element. Otherwise, throw IllegalStateException.
      Specified by:
      getOnly in interface RichIterable<T>
      Returns:
      an element of an iterable.
    • newSetWith

      public static <T> ImmutableSet<T> newSetWith(T... elements)
    • newSet

      public static <T> ImmutableSet<T> newSet(Iterable<? extends T> iterable)
    • each

      public void each(Procedure<? super T> procedure)
      Description copied from interface: RichIterable
      The procedure is executed for each element in the iterable.

      Example using a Java 8 lambda expression:

       people.each(person -> LOGGER.info(person.getName()));
       

      Example using an anonymous inner class:

       people.each(new Procedure<Person>()
       {
           public void value(Person person)
           {
               LOGGER.info(person.getName());
           }
       });
       
      This method is a variant of InternalIterable.forEach(Procedure) that has a signature conflict with Iterable.forEach(java.util.function.Consumer).
      Specified by:
      each in interface RichIterable<T>
      See Also:
    • getBatchCount

      public int getBatchCount(int batchSize)
      Specified by:
      getBatchCount in interface BatchIterable<T>
    • batchForEach

      public void batchForEach(Procedure<? super T> procedure, int sectionIndex, int sectionCount)
      Specified by:
      batchForEach in interface BatchIterable<T>
    • writeReplace

      private Object writeReplace()
    • asParallel

      public ParallelUnsortedSetIterable<T> asParallel(ExecutorService executorService, int batchSize)
      Description copied from interface: SetIterable
      Returns a parallel iterable of this SetIterable.
      Specified by:
      asParallel in interface SetIterable<T>
      Specified by:
      asParallel in interface UnsortedSetIterable<T>
      Overrides:
      asParallel in class AbstractImmutableSet<T>