Class IntSet

  • Direct Known Subclasses:
    IntMap, IntObjMap

    public class IntSet
    extends ASet
    This is an efficient and memory-saving hash set for storing primitive integers. It is derived from the TokenSet class.
    Author:
    BaseX Team 2005-24, BSD License, Christian Gruen
    • Constructor Detail

      • IntSet

        public IntSet()
        Default constructor.
      • IntSet

        public IntSet​(long capacity)
        Constructor with initial capacity.
        Parameters:
        capacity - array capacity (will be resized to a power of two)
    • Method Detail

      • add

        public final boolean add​(int key)
        Stores the specified key if it has not been stored before.
        Parameters:
        key - key to be added
        Returns:
        true if the key did not exist yet and was stored
      • put

        public final int put​(int key)
        Stores the specified key and returns its id.
        Parameters:
        key - key to be added
        Returns:
        unique id of stored key (larger than zero)
      • contains

        public final boolean contains​(int key)
        Checks if the set contains the specified key.
        Parameters:
        key - key to be looked up
        Returns:
        result of check
      • id

        public final int id​(int key)
        Returns the id of the specified key, or 0 if the key does not exist.
        Parameters:
        key - key to be looked up
        Returns:
        id, or 0 if key does not exist
      • key

        public final int key​(int id)
        Returns the key with the specified id. All ids start with 1 instead of 0.
        Parameters:
        id - id of the key to return
        Returns:
        key
      • hash

        protected int hash​(int id)
        Description copied from class: ASet
        Returns the hash value of the element with the specified id.
        Specified by:
        hash in class ASet
        Parameters:
        id - id of the element
        Returns:
        hash value
      • rehash

        protected void rehash​(int newSize)
        Description copied from class: ASet
        Rehashes all entries.
        Specified by:
        rehash in class ASet
        Parameters:
        newSize - new hash size
      • toArray

        public final int[] toArray()
        Returns an array with all elements.
        Returns:
        array