Class IdentityHashSet<T>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<T>, java.util.Collection<T>, java.util.Set<T>

    public class IdentityHashSet<T>
    extends java.util.AbstractSet<T>
    implements java.util.Set<T>, java.lang.Cloneable, java.io.Serializable
    Like java.util.InternalHashMap, it uses == and System.identityHashCode for doing HashSet.
    Author:
    tomyeh
    See Also:
    IdentityComparator, Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      IdentityHashSet()
      Constructs a new, empty set; the backing IdentityHashMap instance has default capacity (32).
      IdentityHashSet​(int expectedMaxSize)
      Constructs a new, empty set with the specified expected maximum size.
      IdentityHashSet​(java.util.Collection<T> c)
      Constructs a new set containing the elements in the specified collection.
    • Method Summary

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

        equals, hashCode, removeAll
      • Methods inherited from class java.util.AbstractCollection

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

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

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

        forEach
      • Methods inherited from interface java.util.Set

        addAll, containsAll, equals, hashCode, removeAll, retainAll, spliterator, toArray, toArray
    • Constructor Detail

      • IdentityHashSet

        public IdentityHashSet()
        Constructs a new, empty set; the backing IdentityHashMap instance has default capacity (32).
      • IdentityHashSet

        public IdentityHashSet​(java.util.Collection<T> c)
        Constructs a new set containing the elements in the specified collection.
        Parameters:
        c - the collection whose elements are to be placed into this set.
        Throws:
        java.lang.NullPointerException - if the specified collection is null.
      • IdentityHashSet

        public IdentityHashSet​(int expectedMaxSize)
        Constructs a new, empty set with the specified expected maximum size.
        Parameters:
        expectedMaxSize - the expected maximum size of the map.
        Throws:
        java.lang.IllegalArgumentException - if expectedMaxSize is negative
    • Method Detail

      • iterator

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

        public int size()
        Specified by:
        size in interface java.util.Collection<T>
        Specified by:
        size in interface java.util.Set<T>
        Specified by:
        size in class java.util.AbstractCollection<T>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Collection<T>
        Specified by:
        isEmpty in interface java.util.Set<T>
        Overrides:
        isEmpty in class java.util.AbstractCollection<T>
      • contains

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

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

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

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

        public java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object