java.lang.Object
org.cicirello.search.representations.IntegerVector
All Implemented Interfaces:
IntegerValued, Copyable<IntegerVector>
Direct Known Subclasses:
BoundedIntegerVector

public class IntegerVector extends Object implements IntegerValued, Copyable<IntegerVector>
A simple class for representing the input to a multivariate function, with integer values.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Initializes the vector to all 0 values.
    IntegerVector(int[] x)
    Initializes the vector to the specified values.
    Initializes the vector as a copy of another.
  • Method Summary

    Modifier and Type
    Method
    Description
    Creates an identical copy of this object.
    boolean
    equals(Object other)
    Indicates whether some other object is "equal to" this one.
    static void
    exchange(IntegerVector v1, IntegerVector v2, int firstIndex, int lastIndex)
    Exchanges a sequence of ints between two IntegerVector objects.
    final int
    get(int i)
    Accesses the current value of a specified parameter.
    int
    Returns a hash code value.
    final int
    Gets the number of parameters.
    void
    set(int i, int value)
    Sets a function parameter to a specified value.
    final int[]
    toArray(int[] values)
    Accesses the current values of all of the parameters.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IntegerVector

      public IntegerVector(int n)
      Initializes the vector to all 0 values.
      Parameters:
      n - The length of the vector.
    • IntegerVector

      public IntegerVector(int[] x)
      Initializes the vector to the specified values.
      Parameters:
      x - The initial values for the vector.
    • IntegerVector

      public IntegerVector(IntegerVector other)
      Initializes the vector as a copy of another.
      Parameters:
      other - The other vector to copy.
  • Method Details

    • length

      public final int length()
      Description copied from interface: IntegerValued
      Gets the number of parameters.
      Specified by:
      length in interface IntegerValued
      Returns:
      The number of parameters for this function.
    • get

      public final int get(int i)
      Description copied from interface: IntegerValued
      Accesses the current value of a specified parameter.
      Specified by:
      get in interface IntegerValued
      Parameters:
      i - The parameter to get.
      Returns:
      The current value of the i-th parameter.
    • toArray

      public final int[] toArray(int[] values)
      Description copied from interface: IntegerValued
      Accesses the current values of all of the parameters.
      Specified by:
      toArray in interface IntegerValued
      Parameters:
      values - An array to hold the result. If values is null or if values.length is not equal to this.length(), then a new array is constructed for the result.
      Returns:
      An array containing the current values of all of the parameters.
    • set

      public void set(int i, int value)
      Description copied from interface: IntegerValued
      Sets a function parameter to a specified value.
      Specified by:
      set in interface IntegerValued
      Parameters:
      i - The parameter to set.
      value - The new value for the i-th parameter.
    • exchange

      public static void exchange(IntegerVector v1, IntegerVector v2, int firstIndex, int lastIndex)
      Exchanges a sequence of ints between two IntegerVector objects.
      Parameters:
      v1 - The first IntegerVector.
      v2 - The second IntegerVector.
      firstIndex - The first index of the sequence to exchange, inclusive.
      lastIndex - The last index of the sequence to exchange, inclusive.
      Throws:
      IndexOutOfBoundsException - if either index is negative, or if either index ≥ v1.length(), or if either index ≥ v2.length()
    • copy

      public IntegerVector copy()
      Creates an identical copy of this object.
      Specified by:
      copy in interface Copyable<IntegerVector>
      Returns:
      an identical copy of this object
    • equals

      public boolean equals(Object other)
      Indicates whether some other object is "equal to" this one. To be equal, the other object must be of the same runtime type and contain the same values.
      Overrides:
      equals in class Object
      Parameters:
      other - The other object to compare.
      Returns:
      true if other is not null, is of the same runtime type as this, and contains the same values.
    • hashCode

      public int hashCode()
      Returns a hash code value.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value