Interface IntegerListInterface

  • All Known Implementing Classes:
    AbstractBlockIntegerList, BlockIntegerList

    public interface IntegerListInterface
    An interface for querying and accessing a list of primitive integers. The list may or may not be sorted or may be sorted over an IndexComparator. This interface exposes general list querying/inserting/removing methods.

    How the list is physically stored is dependant on the implementation of the interface. An example of an implementation is 'BlockIntegerList'.

    Author:
    Tobias Downer
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void add​(int val)
      Adds an int to the end of the list.
      void add​(int val, int pos)
      Adds an integet to the given position in the list.
      boolean contains​(int val)
      Assuming the list is sorted, this performs a binary search and returns true if the value is found, otherwise returns false.
      boolean contains​(java.lang.Object key, IndexComparator c)
      Assuming the list is sorted, this performs a binary search and returns true if the key value is found, otherwise returns false.
      int get​(int pos)
      Returns the int at the given position (0 first, 1 second, etc) in the list.
      void insertSort​(int val)
      Inserts plain 'int' values into the list in sorted order.
      void insertSort​(java.lang.Object key, int val, IndexComparator c)
      Inserts the key/index pair into the list at the correct sorted position (determine by the IndexComparator).
      boolean isImmutable()
      Returns true if this interface is immutable.
      IntegerIterator iterator()
      Returns an IntegerIterator that will walk from the start to the end this list.
      IntegerIterator iterator​(int start_offset, int end_offset)
      Returns an IntegerIterator that will walk from the start offset (inclusive) to the end offset (inclusive) of this list.
      int remove​(int pos)
      Removes an int from the given position in the list.
      boolean removeSort​(int val)
      Removes a plain 'int' value from the sorted position in the list only if it's already in the list.
      int removeSort​(java.lang.Object key, int val, IndexComparator c)
      Removes the key/val pair from the list by first searching for it, and then removing it from the list.
      int searchFirst​(java.lang.Object key, IndexComparator c)
      Returns the index of the first value in this set that equals the given value.
      int searchLast​(java.lang.Object key, IndexComparator c)
      Returns the index of the last value in this set that equals the given value.
      void setImmutable()
      Makes this list immutable effectively making it read-only.
      int size()
      The number of integers that are in the list.
      boolean uniqueInsertSort​(int val)
      Inserts plain 'int' value into the sorted position in the list only if it isn't already in the list.
    • Method Detail

      • setImmutable

        void setImmutable()
        Makes this list immutable effectively making it read-only. After this method, any calls to methods that modify the list will throw an error.

        Once 'setImmutable' is called, the list can not be changed back to being mutable.

      • isImmutable

        boolean isImmutable()
        Returns true if this interface is immutable.
      • size

        int size()
        The number of integers that are in the list.
      • get

        int get​(int pos)
        Returns the int at the given position (0 first, 1 second, etc) in the list. If the position is out of bounds an exception is thrown.
      • add

        void add​(int val,
                 int pos)
        Adds an integet to the given position in the list. If the position is out of bounds an exception is thrown. Any values after the given position are shifted forward.
      • add

        void add​(int val)
        Adds an int to the end of the list.
      • remove

        int remove​(int pos)
        Removes an int from the given position in the list. Returns the value that was removed from the removed position. If the position is out of bounds an exception is thrown.
      • contains

        boolean contains​(int val)
        Assuming the list is sorted, this performs a binary search and returns true if the value is found, otherwise returns false. If the list is not sorted then this may return false even if the list does contain the value.
      • insertSort

        void insertSort​(int val)
        Inserts plain 'int' values into the list in sorted order.
      • uniqueInsertSort

        boolean uniqueInsertSort​(int val)
        Inserts plain 'int' value into the sorted position in the list only if it isn't already in the list. If the value is inserted it returns true, otherwise if the value wasn't inserted because it's already in the list, it returns false.
      • removeSort

        boolean removeSort​(int val)
        Removes a plain 'int' value from the sorted position in the list only if it's already in the list. If the value is removed it returns true, otherwise if the value wasn't removed because it couldn't be found in the list, it returns false.
      • contains

        boolean contains​(java.lang.Object key,
                         IndexComparator c)
        Assuming the list is sorted, this performs a binary search and returns true if the key value is found, otherwise returns false.
      • insertSort

        void insertSort​(java.lang.Object key,
                        int val,
                        IndexComparator c)
        Inserts the key/index pair into the list at the correct sorted position (determine by the IndexComparator). If the list already contains identical key then the value is add to the end of the set of identical values in the list. This way, the sort is stable (the order of identical elements does not change).
      • removeSort

        int removeSort​(java.lang.Object key,
                       int val,
                       IndexComparator c)
        Removes the key/val pair from the list by first searching for it, and then removing it from the list. This method uses the IndexComparator object to compare an index position in the list to an object to compare against.
      • searchLast

        int searchLast​(java.lang.Object key,
                       IndexComparator c)
        Returns the index of the last value in this set that equals the given value. This method uses the IndexComparator object to compare an index position in the list to an object to compare against.
      • searchFirst

        int searchFirst​(java.lang.Object key,
                        IndexComparator c)
        Returns the index of the first value in this set that equals the given value. This method uses the IndexComparator object to compare an index position in the list to an object to compare against.
      • iterator

        IntegerIterator iterator​(int start_offset,
                                 int end_offset)
        Returns an IntegerIterator that will walk from the start offset (inclusive) to the end offset (inclusive) of this list.
      • iterator

        IntegerIterator iterator()
        Returns an IntegerIterator that will walk from the start to the end this list.