## org.biojava.bio.symbol
Interface FiniteAlphabet

All Known Implementing Classes:
  AbstractAlphabet, Alphabet.EmptyAlphabet, SingletonAlphabet, AllTokensAlphabet

public interface FiniteAlphabet
extends Alphabet

An alphabet over a finite set of Symbols.

This interface makes the distinction between an alphabet over a finite (and possibly small) number of symbols and an Alphabet over an infinite (or extremely large) set of symbols. Within a FiniteAlphabet, the == operator should be sufficient to decide upon equality for all AtomicSymbol instances.

The alphabet functions as the repository of objects in the fly-weight design pattern. Only symbols within an alphabet should appear in object that claim to use the alphabet - otherwise something is in error.

Author:
  Matthew Pocock

Inner classes inherited from class org.biojava.bio.symbol.Alphabet
`Alphabet.EmptyAlphabet`

Fields inherited from interface org.biojava.bio.symbol.Alphabet
`EMPTY_ALPHABET`

Method Summary
`java.util.Iterator` `iterator()` Retrieve an Iterator over the Symbols in this FiniteAlphabet.
`int` `size()` The number of symbols in the alphabet.
`SymbolList` `symbols()` A list of symbols that make up this alphabet.

Methods inherited from interface org.biojava.bio.symbol.Alphabet
`contains, getName, getParser, validate`

Methods inherited from interface org.biojava.bio.Annotatable
`getAnnotation`

Method Detail

### size

    public int size()

  The number of symbols in the alphabet.
  Returns:
    the size of the alphabet

### iterator

    public java.util.Iterator iterator()

  Retrieve an Iterator over the Symbols in this FiniteAlphabet.

  Each AtomicSymbol as for which this.contains(as) is true will be returned exactly once by this iterator in no specified order.

  Returns:
    an Iterator over the contained AtomicSymbol objects

### symbols

    public SymbolList symbols()

  A list of symbols that make up this alphabet.

  Subsequent calls to this method are not required to return either the same symbol list, or even a symbol list with the symbols in the same order.

  Returns:
    a SymbolList containing one AtomicSymbol for each AtomicSymbol in this alphabet