Package qilin.util

Interface Numberer<E>

All Known Subinterfaces:
IterableNumberer<E>
All Known Implementing Classes:
ArrayNumberer, StringNumberer

public interface Numberer<E>
A numberer converts objects to unique non-negative integers, and vice-versa.
Author:
xiao, generalize the interface
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(E o)
    Tells the numberer that a new object needs to be assigned a number.
    get(long number)
    Should return the object that was assigned the number.
    long
    get(E o)
    Should return the number that was assigned to object o that was previously passed as an argument to add().
    boolean
    remove(E o)
    Removes the number for a given object.
    int
    Should return the number of objects that have been assigned numbers.
  • Method Details

    • add

      void add(E o)
      Tells the numberer that a new object needs to be assigned a number.
    • remove

      boolean remove(E o)
      Removes the number for a given object.
      Parameters:
      o - the element
      Returns:
      true if the removal was successful, false when not
    • get

      long get(E o)
      Should return the number that was assigned to object o that was previously passed as an argument to add().
    • get

      E get(long number)
      Should return the object that was assigned the number.
    • size

      int size()
      Should return the number of objects that have been assigned numbers.