Class Alphabet


  • public class Alphabet
    extends Object
    • Constructor Summary

      Constructors 
      Constructor Description
      Alphabet()
      Initializes a new alphabet using characters 0 through 255.
      Alphabet​(String alpha)
      Initializes a new alphabet from the given set of characters.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean contains​(char c)
      Returns true if the argument is a character in this alphabet.
      int lgR()
      Returns the binary logarithm of the number of characters in this alphabet.
      static void main​(String[] args)
      Unit tests the Alphabet data type.
      int radix()
      Returns the number of characters in this alphabet (the radix).
      char toChar​(int index)
      Returns the character corresponding to the argument index.
      String toChars​(int[] indices)
      Returns the characters corresponding to the argument indices.
      int toIndex​(char c)
      Returns the index corresponding to the argument character.
      int[] toIndices​(String s)
      Returns the indices corresponding to the argument characters.
    • Field Detail

      • BINARY

        public static final Alphabet BINARY
        The binary alphabet { 0, 1 }.
      • OCTAL

        public static final Alphabet OCTAL
        The octal alphabet { 0, 1, 2, 3, 4, 5, 6, 7 }.
      • DECIMAL

        public static final Alphabet DECIMAL
        The decimal alphabet { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }.
      • HEXADECIMAL

        public static final Alphabet HEXADECIMAL
        The hexadecimal alphabet { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }.
      • DNA

        public static final Alphabet DNA
        The DNA alphabet { A, C, T, G }.
      • LOWERCASE

        public static final Alphabet LOWERCASE
        The lowercase alphabet { a, b, c, ..., z }.
      • UPPERCASE

        public static final Alphabet UPPERCASE
        The uppercase alphabet { A, B, C, ..., Z }.
      • PROTEIN

        public static final Alphabet PROTEIN
        The protein alphabet { A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y }.
      • BASE64

        public static final Alphabet BASE64
        The base-64 alphabet (64 characters).
      • ASCII

        public static final Alphabet ASCII
        The ASCII alphabet (0-127).
      • EXTENDED_ASCII

        public static final Alphabet EXTENDED_ASCII
        The extended ASCII alphabet (0-255).
      • UNICODE16

        public static final Alphabet UNICODE16
        The Unicode 16 alphabet (0-65,535).
    • Constructor Detail

      • Alphabet

        public Alphabet​(String alpha)
        Initializes a new alphabet from the given set of characters.
        Parameters:
        alpha - the set of characters
      • Alphabet

        public Alphabet()
        Initializes a new alphabet using characters 0 through 255.
    • Method Detail

      • contains

        public boolean contains​(char c)
        Returns true if the argument is a character in this alphabet.
        Parameters:
        c - the character
        Returns:
        true if c is a character in this alphabet; false otherwise
      • radix

        public int radix()
        Returns the number of characters in this alphabet (the radix).
        Returns:
        the number of characters in this alphabet
      • lgR

        public int lgR()
        Returns the binary logarithm of the number of characters in this alphabet.
        Returns:
        the binary logarithm (rounded up) of the number of characters in this alphabet
      • toIndex

        public int toIndex​(char c)
        Returns the index corresponding to the argument character.
        Parameters:
        c - the character
        Returns:
        the index corresponding to the character c
        Throws:
        IllegalArgumentException - unless c is a character in this alphabet
      • toIndices

        public int[] toIndices​(String s)
        Returns the indices corresponding to the argument characters.
        Parameters:
        s - the characters
        Returns:
        the indices corresponding to the characters s
        Throws:
        IllegalArgumentException - unless every character in s is a character in this alphabet
      • toChar

        public char toChar​(int index)
        Returns the character corresponding to the argument index.
        Parameters:
        index - the index
        Returns:
        the character corresponding to the index index
        Throws:
        IllegalArgumentException - unless 0 <= index < R
      • toChars

        public String toChars​(int[] indices)
        Returns the characters corresponding to the argument indices.
        Parameters:
        indices - the indices
        Returns:
        the characters corresponding to the indices indices
        Throws:
        IllegalArgumentException - unless 0 < indices[i] < R for every i
      • main

        public static void main​(String[] args)
        Unit tests the Alphabet data type.
        Parameters:
        args - the command-line arguments