Class BooleanMapGenotype<K>

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

    public class BooleanMapGenotype<K>
    extends BooleanGenotype
    implements MapGenotype<K,​java.lang.Boolean>

    The BooleanMapGenotype is a BooleanGenotype with the MapGenotype functionality.

    Example problem: Select on/off state of five switches switch1, switch2, switch3, switch4, switch5
    Example usage:

     BooleanMapGenotype<Switch> genotype = new BooleanMapGenotype<Switch>(
                    Arrays.asList(switch1, switch2, switch3, switch4, switch5));
     genotype.init(new Random());
     
    Example instance: [switch1=true;switch2=true;switch3=false;switch4=false;switch5=true;]
    Example search space size: 25

    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.Boolean 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 number of keys.
      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.Boolean 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

      • BooleanMapGenotype

        public BooleanMapGenotype​(java.util.List<K> list)
        Constructs a BooleanMapGenotype.
        Parameters:
        list - the list of keys
    • Method Detail

      • init

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

        public java.lang.Boolean 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.Boolean>
        Parameters:
        key - the key
        Returns:
        the value
        See Also:
        MapGenotype.setValue(K, V)
      • setValue

        public void setValue​(K key,
                             java.lang.Boolean 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.Boolean>
        Parameters:
        key - the key
        value - the value
        See Also:
        MapGenotype.getValue(K)
      • 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.Boolean>
        Parameters:
        key - the key
        Returns:
        true if the key is contained
      • 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 BooleanGenotype
        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.Boolean>
      • 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.Boolean>
        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.Boolean>
        Returns:
        all keys