Class IdentityUtils.DistinctCollection<E>

  • Type Parameters:
    E - type of elements
    All Implemented Interfaces:
    java.lang.Iterable<E>, java.util.Collection<E>
    Enclosing class:
    IdentityUtils

    public static class IdentityUtils.DistinctCollection<E>
    extends java.util.AbstractCollection<E>
    Collection that contains only single copy of each instance.

    Collection is implemented in the way, that it may be altered in whatever way is needed and no duplicates are being identified in the process. First read from collection after it has been changed triggers duplicates removal.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(E t)  
      void clear()  
      boolean contains​(java.lang.Object o)  
      java.util.Iterator<E> iterator()  
      boolean remove​(java.lang.Object o)  
      int size()  
      • Methods inherited from class java.util.AbstractCollection

        addAll, containsAll, isEmpty, removeAll, retainAll, toArray, toArray, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        equals, hashCode, parallelStream, removeIf, spliterator, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
    • Constructor Detail

      • DistinctCollection

        public DistinctCollection()
      • DistinctCollection

        public DistinctCollection​(int initialCapacity)
      • DistinctCollection

        public DistinctCollection​(java.util.Collection<E> initial)
    • Method Detail

      • add

        public boolean add​(E t)
        Specified by:
        add in interface java.util.Collection<E>
        Overrides:
        add in class java.util.AbstractCollection<E>
      • remove

        public boolean remove​(java.lang.Object o)
        Specified by:
        remove in interface java.util.Collection<E>
        Overrides:
        remove in class java.util.AbstractCollection<E>
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Collection<E>
        Overrides:
        clear in class java.util.AbstractCollection<E>
      • iterator

        public java.util.Iterator<E> iterator()
        Specified by:
        iterator in interface java.util.Collection<E>
        Specified by:
        iterator in interface java.lang.Iterable<E>
        Specified by:
        iterator in class java.util.AbstractCollection<E>
      • size

        public int size()
        Specified by:
        size in interface java.util.Collection<E>
        Specified by:
        size in class java.util.AbstractCollection<E>
      • contains

        public boolean contains​(java.lang.Object o)
        Specified by:
        contains in interface java.util.Collection<E>
        Overrides:
        contains in class java.util.AbstractCollection<E>