Interface EditDistance<R>

  • Type Parameters:
    R - The type of similarity score unit used by this EditDistance.
    All Superinterfaces:
    SimilarityScore<R>
    All Known Implementing Classes:
    CosineDistance, HammingDistance, JaccardDistance, JaroWinklerDistance, LevenshteinDetailedDistance, LevenshteinDistance, LongestCommonSubsequenceDistance

    public interface EditDistance<R>
    extends SimilarityScore<R>
    Interface for Edit Distances.

    An edit distance is a formal metric on the Kleene closure (X<sup>*</sup>) over an alphabet (X). Note, that a metric on a set S is a function d: [S * S] -&gt; [0, INFINITY) such that the following hold for x,y,z in the set S:

    • d(x,y) &gt;= 0, non-negativity or separation axiom
    • d(x,y) == 0, if and only if, x == y
    • d(x,y) == d(y,x), symmetry, and
    • d(x,z) &lt;= d(x,y) + d(y,z), the triangle inequality

    This is a BiFunction<CharSequence, CharSequence, R>. The apply method accepts a pair of CharSequence parameters and returns an R type similarity score.

    Since:
    1.0
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      R apply​(java.lang.CharSequence left, java.lang.CharSequence right)
      Compares two CharSequences.
    • Method Detail

      • apply

        R apply​(java.lang.CharSequence left,
                java.lang.CharSequence right)
        Compares two CharSequences.
        Specified by:
        apply in interface SimilarityScore<R>
        Parameters:
        left - the first CharSequence
        right - the second CharSequence
        Returns:
        The similarity score between two CharSequences