Class GenericLevenshteinDistance<T>

  • Type Parameters:
    T - type of the objects
    All Implemented Interfaces:
    SequenceDistance<T>

    public final class GenericLevenshteinDistance<T>
    extends AbstractSequenceDistance<T>
    Generic Levenshtein Distance computation that also returns an "aligned" version of the two input Lists. Adapted from this post at Stack Overflow.

    Please note that this class is not thread-safe.

    Author:
    F. Mannhardt
    • Constructor Detail

      • GenericLevenshteinDistance

        public GenericLevenshteinDistance()
      • GenericLevenshteinDistance

        public GenericLevenshteinDistance​(int maxDistance)
      • GenericLevenshteinDistance

        public GenericLevenshteinDistance​(int maxDistance,
                                          int initialCapacity)
    • Method Detail

      • computeAlignment

        public final SequenceDistance.DistanceResult<T> computeAlignment​(java.util.List<T> a,
                                                                         java.util.List<T> b,
                                                                         SequenceDistance.Equivalence<T> eq)
        Description copied from interface: SequenceDistance
        Compute the distance and a possible alignment between two sequences.
        Parameters:
        a - first sequence
        b - second sequence
        eq - equivalence relation on T
        Returns:
        a distance and optional alignment
      • computeDistance

        public final int computeDistance​(java.util.List<T> a,
                                         java.util.List<T> b,
                                         SequenceDistance.Equivalence<T> eq)
        Description copied from interface: SequenceDistance
        Computes only the distance between two sequences.
        Parameters:
        a - first sequence
        b - second sequence
        eq - equivalence relation on T
        Returns:
        the distance