Class IntVector

  • All Implemented Interfaces:
    java.lang.Cloneable
    Direct Known Subclasses:
    IntStack

    public class IntVector
    extends java.lang.Object
    implements java.lang.Cloneable
    A very simple table that stores a list of int. This version is based on a "realloc" strategy -- a simle array is used, and when more storage is needed, a larger array is obtained and all existing data is recopied into it. As a result, read/write access to existing nodes is O(1) fast but appending may be O(N**2) slow. See also SuballocatedIntVector.
    • Constructor Summary

      Constructors 
      Constructor Description
      IntVector()
      Default constructor.
      IntVector​(int blocksize)
      Construct a IntVector, using the given block size.
      IntVector​(int blocksize, int increaseSize)
      Construct a IntVector, using the given block size.
      IntVector​(IntVector v)
      Copy constructor for IntVector
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addElement​(int value)
      Append a int onto the vector.
      void addElements​(int numberOfElements)
      Append several slots onto the vector, but do not set the values.
      void addElements​(int value, int numberOfElements)
      Append several int values onto the vector.
      java.lang.Object clone()
      Returns clone of current IntVector
      boolean contains​(int s)
      Tell if the table contains the given node.
      int elementAt​(int i)
      Get the nth element.
      int indexOf​(int elem)
      Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
      int indexOf​(int elem, int index)
      Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
      void insertElementAt​(int value, int at)
      Inserts the specified node in this vector at the specified index.
      int lastIndexOf​(int elem)
      Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
      void removeAllElements()
      Inserts the specified node in this vector at the specified index.
      boolean removeElement​(int s)
      Removes the first occurrence of the argument from this vector.
      void removeElementAt​(int i)
      Deletes the component at the specified index.
      void setElementAt​(int value, int index)
      Sets the component at the specified index of this vector to be the specified object.
      void setSize​(int sz)
      Get the length of the list.
      int size()
      Get the length of the list.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IntVector

        public IntVector()
        Default constructor. Note that the default block size is very small, for small lists.
      • IntVector

        public IntVector​(int blocksize)
        Construct a IntVector, using the given block size.
        Parameters:
        blocksize - Size of block to allocate
      • IntVector

        public IntVector​(int blocksize,
                         int increaseSize)
        Construct a IntVector, using the given block size.
        Parameters:
        blocksize - Size of block to allocate
      • IntVector

        public IntVector​(IntVector v)
        Copy constructor for IntVector
        Parameters:
        v - Existing IntVector to copy
    • Method Detail

      • size

        public final int size()
        Get the length of the list.
        Returns:
        length of the list
      • setSize

        public final void setSize​(int sz)
        Get the length of the list.
      • addElement

        public final void addElement​(int value)
        Append a int onto the vector.
        Parameters:
        value - Int to add to the list
      • addElements

        public final void addElements​(int value,
                                      int numberOfElements)
        Append several int values onto the vector.
        Parameters:
        value - Int to add to the list
      • addElements

        public final void addElements​(int numberOfElements)
        Append several slots onto the vector, but do not set the values.
        Parameters:
        numberOfElements - Int to add to the list
      • insertElementAt

        public final void insertElementAt​(int value,
                                          int at)
        Inserts the specified node in this vector at the specified index. Each component in this vector with an index greater or equal to the specified index is shifted upward to have an index one greater than the value it had previously.
        Parameters:
        value - Int to insert
        at - Index of where to insert
      • removeAllElements

        public final void removeAllElements()
        Inserts the specified node in this vector at the specified index. Each component in this vector with an index greater or equal to the specified index is shifted upward to have an index one greater than the value it had previously.
      • removeElement

        public final boolean removeElement​(int s)
        Removes the first occurrence of the argument from this vector. If the object is found in this vector, each component in the vector with an index greater or equal to the object's index is shifted downward to have an index one smaller than the value it had previously.
        Parameters:
        s - Int to remove from array
        Returns:
        True if the int was removed, false if it was not found
      • removeElementAt

        public final void removeElementAt​(int i)
        Deletes the component at the specified index. Each component in this vector with an index greater or equal to the specified index is shifted downward to have an index one smaller than the value it had previously.
        Parameters:
        i - index of where to remove and int
      • setElementAt

        public final void setElementAt​(int value,
                                       int index)
        Sets the component at the specified index of this vector to be the specified object. The previous component at that position is discarded. The index must be a value greater than or equal to 0 and less than the current size of the vector.
        Parameters:
        value - object to set
        index - Index of where to set the object
      • elementAt

        public final int elementAt​(int i)
        Get the nth element.
        Parameters:
        i - index of object to get
        Returns:
        object at given index
      • contains

        public final boolean contains​(int s)
        Tell if the table contains the given node.
        Parameters:
        s - object to look for
        Returns:
        true if the object is in the list
      • indexOf

        public final int indexOf​(int elem,
                                 int index)
        Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
        Parameters:
        elem - object to look for
        index - Index of where to begin search
        Returns:
        the index of the first occurrence of the object argument in this vector at position index or later in the vector; returns -1 if the object is not found.
      • indexOf

        public final int indexOf​(int elem)
        Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
        Parameters:
        elem - object to look for
        Returns:
        the index of the first occurrence of the object argument in this vector at position index or later in the vector; returns -1 if the object is not found.
      • lastIndexOf

        public final int lastIndexOf​(int elem)
        Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
        Parameters:
        elem - Object to look for
        Returns:
        the index of the first occurrence of the object argument in this vector at position index or later in the vector; returns -1 if the object is not found.
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns clone of current IntVector
        Returns:
        clone of current IntVector
        Throws:
        java.lang.CloneNotSupportedException