Class IntegerMapGenotype<K>

  • Type Parameters:
    K - the type of keys
    All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<java.lang.Integer>, java.util.Collection<java.lang.Integer>, java.util.List<java.lang.Integer>, java.util.RandomAccess, Genotype, ListGenotype<java.lang.Integer>, MapGenotype<K,​java.lang.Integer>

    public class IntegerMapGenotype<K>
    extends IntegerGenotype
    implements MapGenotype<K,​java.lang.Integer>

    The IntegerMapGenotype is a IntegerGenotype with the MapGenotype functionality.

    Example problem: Select the outcome of throwing five dice die1, die2, die3, die4, die5
    Example usage:

     IntegerGenotype<Die> genotype = new IntegerMapGenotype<Die>(Arrays.asList(die1, die2, die3, die4, die5), 1, 6);
     genotype.init(new Random());
     
    Example instance: [die1=3, die2=5, die3=6, die4=1, die5=3]
    Example search space size: 65

    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean containsKey​(K key)
      Returns true if the key is contained.
      int getIndexOf​(K key)
      Returns the index of the key.
      java.util.Collection<K> getKeys()
      Return all keys.
      java.lang.Integer getValue​(K key)
      Returns the value for the specified key.
      void init​(java.util.Random random)
      Initialize this genotype with random values based on the size of the list.
      void init​(java.util.Random random, int n)
      Not supported.
      <G extends Genotype>
      G
      newInstance()
      Constructs a new (empty) instance of this Genotype.
      void setValue​(K key, java.lang.Integer value)
      Sets the value for the specified key.
      java.lang.String toString()  
      • Methods inherited from class java.util.ArrayList

        add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
      • Methods inherited from class java.util.AbstractCollection

        containsAll
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, removeIf, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
      • Methods inherited from interface java.util.List

        add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray
    • Field Detail

      • list

        protected final java.util.List<K> list
    • Constructor Detail

      • IntegerMapGenotype

        public IntegerMapGenotype​(java.util.List<K> list,
                                  Bounds<java.lang.Integer> bounds)
        Constructs a IntegerMapGenotype.
        Parameters:
        list - the list of keys
        bounds - the lower and upper bounds
      • IntegerMapGenotype

        public IntegerMapGenotype​(java.util.List<K> list,
                                  int lowerBound,
                                  int upperBound)
        Constructs a IntegerMapGenotype with fixed bounds.
        Parameters:
        list - the list of keys
        lowerBound - the lower bound
        upperBound - the upper bound
    • Method Detail

      • init

        public void init​(java.util.Random random)
        Initialize this genotype with random values based on the size of the list.
        Parameters:
        random - the random number generator
      • containsKey

        public boolean containsKey​(K key)
        Description copied from interface: MapGenotype
        Returns true if the key is contained.
        Specified by:
        containsKey in interface MapGenotype<K,​java.lang.Integer>
        Parameters:
        key - the key
        Returns:
        true if the key is contained
      • getValue

        public java.lang.Integer getValue​(K key)
        Description copied from interface: MapGenotype
        Returns the value for the specified key. Throws an exception if the key is not contained.
        Specified by:
        getValue in interface MapGenotype<K,​java.lang.Integer>
        Parameters:
        key - the key
        Returns:
        the value
        See Also:
        MapGenotype.setValue(K, V)
      • setValue

        public void setValue​(K key,
                             java.lang.Integer value)
        Description copied from interface: MapGenotype
        Sets the value for the specified key. Throws an exception if the key is not contained.
        Specified by:
        setValue in interface MapGenotype<K,​java.lang.Integer>
        Parameters:
        key - the key
        value - the value
        See Also:
        MapGenotype.getValue(K)
      • newInstance

        public <G extends Genotype> G newInstance()
        Description copied from interface: Genotype
        Constructs a new (empty) instance of this Genotype.
        Specified by:
        newInstance in interface Genotype
        Overrides:
        newInstance in class IntegerGenotype
        Type Parameters:
        G - the type of genotype for an implicit cast
        Returns:
        new instance of the genotype
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.util.AbstractCollection<java.lang.Integer>
      • getIndexOf

        public int getIndexOf​(K key)
        Description copied from interface: MapGenotype
        Returns the index of the key. Throws an exception if the key is not contained.
        Specified by:
        getIndexOf in interface MapGenotype<K,​java.lang.Integer>
        Parameters:
        key - the key
        Returns:
        the index
      • getKeys

        public java.util.Collection<K> getKeys()
        Description copied from interface: MapGenotype
        Return all keys.
        Specified by:
        getKeys in interface MapGenotype<K,​java.lang.Integer>
        Returns:
        all keys