Package io.jenetics

Class IntegerChromosome

    • Constructor Detail

      • IntegerChromosome

        protected IntegerChromosome​(ISeq<IntegerGene> genes,
                                    IntRange lengthRange)
        Create a new chromosome from the given genes and the allowed length range of the chromosome.
        Parameters:
        genes - the genes that form the chromosome.
        lengthRange - the allowed length range of the chromosome
        Throws:
        NullPointerException - if one of the arguments is null.
        IllegalArgumentException - if the length of the gene sequence is empty, doesn't match with the allowed length range, the minimum or maximum of the range is smaller or equal zero or the given range size is zero.
        Since:
        4.0
    • Method Detail

      • intStream

        public IntStream intStream()
        Returns a sequential stream of the alleles with this chromosome as its source.
        Returns:
        a sequential stream of alleles
        Since:
        4.3
      • toArray

        public int[] toArray​(int[] array)
        Returns an int array containing all of the elements in this chromosome in proper sequence. If the chromosome fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the length of this chromosome.
        Parameters:
        array - the array into which the elements of this chromosomes are to be stored, if it is big enough; otherwise, a new array is allocated for this purpose.
        Returns:
        an array containing the elements of this chromosome
        Throws:
        NullPointerException - if the given array is null
        Since:
        3.0
      • toArray

        public int[] toArray()
        Returns an int array containing all of the elements in this chromosome in proper sequence.
        Returns:
        an array containing the elements of this chromosome
        Since:
        3.0
      • of

        public static IntegerChromosome of​(IntegerGene... genes)
        Create a new IntegerChromosome with the given genes.
        Parameters:
        genes - the genes of the chromosome.
        Returns:
        a new chromosome with the given genes.
        Throws:
        IllegalArgumentException - if the length of the genes array is empty or the given genes doesn't have the same range.
      • of

        public static IntegerChromosome of​(int min,
                                           int max,
                                           IntRange lengthRange)
        Create a new random chromosome.
        Parameters:
        min - the min value of the IntegerGenes (inclusively).
        max - the max value of the IntegerGenes (inclusively).
        lengthRange - the allowed length range of the chromosome.
        Returns:
        a new IntegerChromosome with the given parameter
        Throws:
        IllegalArgumentException - if the length of the gene sequence is empty, doesn't match with the allowed length range, the minimum or maximum of the range is smaller or equal zero or the given range size is zero.
        NullPointerException - if the given lengthRange is null
        Since:
        4.0
      • of

        public static IntegerChromosome of​(int min,
                                           int max,
                                           int length)
        Create a new random IntegerChromosome.
        Parameters:
        min - the min value of the IntegerGenes (inclusively).
        max - the max value of the IntegerGenes (inclusively).
        length - the length of the chromosome.
        Returns:
        a new random IntegerChromosome
        Throws:
        IllegalArgumentException - if the length is smaller than one
      • of

        public static IntegerChromosome of​(IntRange range,
                                           IntRange lengthRange)
        Create a new random chromosome.
        Parameters:
        range - the integer range of the chromosome.
        lengthRange - the allowed length range of the chromosome.
        Returns:
        a new IntegerChromosome with the given parameter
        Throws:
        IllegalArgumentException - if the length of the gene sequence is empty, doesn't match with the allowed length range, the minimum or maximum of the range is smaller or equal zero or the given range size is zero.
        NullPointerException - if the given lengthRange is null
        Since:
        4.0
      • of

        public static IntegerChromosome of​(IntRange range,
                                           int length)
        Create a new random IntegerChromosome.
        Parameters:
        range - the integer range of the chromosome.
        length - the length of the chromosome.
        Returns:
        a new random IntegerChromosome
        Throws:
        NullPointerException - if the given range is null
        IllegalArgumentException - if the length is smaller than one
        Since:
        3.2
      • of

        public static IntegerChromosome of​(int min,
                                           int max)
        Create a new random IntegerChromosome of length one.
        Parameters:
        min - the minimal value of this chromosome (inclusively).
        max - the maximal value of this chromosome (inclusively).
        Returns:
        a new random IntegerChromosome of length one
      • of

        public static IntegerChromosome of​(IntRange range)
        Create a new random IntegerChromosome of length one.
        Parameters:
        range - the integer range of the chromosome.
        Returns:
        a new random IntegerChromosome of length one
        Throws:
        NullPointerException - if the given range is null
        Since:
        3.2
      • min

        public A min()
        Description copied from interface: BoundedChromosome
        Return the minimum value of this BoundedChromosome.
        Specified by:
        min in interface BoundedChromosome<A extends Comparable<? super A>,​G extends BoundedGene<A,​G>>
        Returns:
        the minimum value of this BoundedChromosome.
      • max

        public A max()
        Description copied from interface: BoundedChromosome
        Return the maximum value of this BoundedChromosome.
        Specified by:
        max in interface BoundedChromosome<A extends Comparable<? super A>,​G extends BoundedGene<A,​G>>
        Returns:
        the maximum value of this BoundedChromosome.
      • hashCode

        public int hashCode()
      • equals

        public boolean equals​(Object obj)
      • lengthRange

        public IntRange lengthRange()
        Return the allowed length range of the chromosome. The minimum value of the range is included and the maximum value is excluded.
        Returns:
        the allowed length range of the chromosome