Class NormalizedLevenshtein
- java.lang.Object
-
- info.debatty.java.stringsimilarity.NormalizedLevenshtein
-
- All Implemented Interfaces:
NormalizedStringDistance
,NormalizedStringSimilarity
,StringDistance
,StringSimilarity
,java.io.Serializable
@Immutable public class NormalizedLevenshtein extends java.lang.Object implements NormalizedStringDistance, NormalizedStringSimilarity
This distance is computed as levenshtein distance divided by the length of the longest string. The resulting value is always in the interval [0.0 1.0] but it is not a metric anymore! The similarity is computed as 1 - normalized distance.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private Levenshtein
l
-
Constructor Summary
Constructors Constructor Description NormalizedLevenshtein()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
distance(java.lang.String s1, java.lang.String s2)
Compute distance as Levenshtein(s1, s2) / max(|s1|, |s2|).double
similarity(java.lang.String s1, java.lang.String s2)
Return 1 - distance.
-
-
-
Field Detail
-
l
private final Levenshtein l
-
-
Method Detail
-
distance
public final double distance(java.lang.String s1, java.lang.String s2)
Compute distance as Levenshtein(s1, s2) / max(|s1|, |s2|).- Specified by:
distance
in interfaceStringDistance
- Parameters:
s1
- The first string to compare.s2
- The second string to compare.- Returns:
- The computed distance in the range [0, 1]
- Throws:
java.lang.NullPointerException
- if s1 or s2 is null.
-
similarity
public final double similarity(java.lang.String s1, java.lang.String s2)
Return 1 - distance.- Specified by:
similarity
in interfaceStringSimilarity
- Parameters:
s1
- The first string to compare.s2
- The second string to compare.- Returns:
- 1.0 - the computed distance
- Throws:
java.lang.NullPointerException
- if s1 or s2 is null.
-
-