org.apache.commons.math3.genetics

## Class AbstractListChromosome<T>

• Type Parameters:
T - type of the representation list
All Implemented Interfaces:
Comparable<Chromosome>, Fitness
Direct Known Subclasses:
BinaryChromosome, RandomKey

public abstract class AbstractListChromosome<T>
extends Chromosome
Chromosome represented by an immutable list of a fixed length.
Since:
2.0
• ### Constructor Summary

Constructors
Constructor and Description
AbstractListChromosome(List<T> representation)
Constructor, copying the input representation.
AbstractListChromosome(List<T> representation, boolean copyList)
Constructor.
AbstractListChromosome(T[] representation)
Constructor, copying the input representation.
• ### Method Summary

Methods
Modifier and Type Method and Description
protected abstract void checkValidity(List<T> chromosomeRepresentation)
Asserts that representation can represent a valid chromosome.
int getLength()
Returns the length of the chromosome.
protected List<T> getRepresentation()
Returns the (immutable) inner representation of the chromosome.
abstract AbstractListChromosome<T> newFixedLengthChromosome(List<T> chromosomeRepresentation)
Creates a new instance of the same class as this is, with a given arrayRepresentation.
String toString()
• ### Methods inherited from class org.apache.commons.math3.genetics.Chromosome

compareTo, findSameChromosome, getFitness, isSame, searchForFitnessUpdate
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
• ### Methods inherited from interface org.apache.commons.math3.genetics.Fitness

fitness
• ### Constructor Detail

• #### AbstractListChromosome

public AbstractListChromosome(List<T> representation)
throws InvalidRepresentationException
Constructor, copying the input representation.
Parameters:
representation - inner representation of the chromosome
Throws:
InvalidRepresentationException - iff the representation can not represent a valid chromosome
• #### AbstractListChromosome

public AbstractListChromosome(T[] representation)
throws InvalidRepresentationException
Constructor, copying the input representation.
Parameters:
representation - inner representation of the chromosome
Throws:
InvalidRepresentationException - iff the representation can not represent a valid chromosome
• #### AbstractListChromosome

public AbstractListChromosome(List<T> representation,
boolean copyList)
Constructor.
Parameters:
representation - inner representation of the chromosome
copyList - if true, the representation will be copied, otherwise it will be referenced.
Since:
3.3
• ### Method Detail

• #### checkValidity

protected abstract void checkValidity(List<T> chromosomeRepresentation)
throws InvalidRepresentationException
Asserts that representation can represent a valid chromosome.
Parameters:
chromosomeRepresentation - representation of the chromosome
Throws:
InvalidRepresentationException - iff the representation can not represent a valid chromosome
• #### getRepresentation

protected List<T> getRepresentation()
Returns the (immutable) inner representation of the chromosome.
Returns:
the representation of the chromosome
• #### getLength

public int getLength()
Returns the length of the chromosome.
Returns:
the length of the chromosome
• #### newFixedLengthChromosome

public abstract AbstractListChromosome<T> newFixedLengthChromosome(List<T> chromosomeRepresentation)
Creates a new instance of the same class as this is, with a given arrayRepresentation. This is needed in crossover and mutation operators, where we need a new instance of the same class, but with different array representation.

Usually, this method just calls a constructor of the class.

Parameters:
chromosomeRepresentation - the inner array representation of the new chromosome.
Returns:
new instance extended from FixedLengthChromosome with the given arrayRepresentation
• #### toString

public String toString()
Overrides:
toString in class Object