Class HammingDistance
- All Implemented Interfaces:
BiFunction<CharSequence,
,CharSequence, Integer> EditDistance<Integer>
,ObjectSimilarityScore<CharSequence,
,Integer> SimilarityScore<Integer>
For further explanation about the Hamming Distance, take a look at its Wikipedia page at https://en.wikipedia.org/wiki/Hamming_distance.
- Since:
- 1.0
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionapply
(CharSequence left, CharSequence right) Computes the Hamming Distance between two strings with the same length.<E> Integer
apply
(SimilarityInput<E> left, SimilarityInput<E> right) Computes the Hamming Distance between two strings with the same length.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.function.BiFunction
andThen
-
Constructor Details
-
HammingDistance
public HammingDistance()
-
-
Method Details
-
apply
Computes the Hamming Distance between two strings with the same length.The distance starts with zero, and for each occurrence of a different character in either String, it increments the distance by 1, and finally return its value.
Since the Hamming Distance can only be calculated between strings of equal length, input of different lengths will throw IllegalArgumentException
distance.apply("", "") = 0 distance.apply("pappa", "pappa") = 0 distance.apply("1011101", "1011111") = 1 distance.apply("ATCG", "ACCC") = 2 distance.apply("karolin", "kerstin" = 3
- Specified by:
apply
in interfaceBiFunction<CharSequence,
CharSequence, Integer> - Specified by:
apply
in interfaceObjectSimilarityScore<CharSequence,
Integer> - Specified by:
apply
in interfaceSimilarityScore<Integer>
- Parameters:
left
- the first input, must not be null.right
- the second input, must not be null.- Returns:
- distance.
- Throws:
IllegalArgumentException
- if either input isnull
or if they do not have the same length.
-
apply
Computes the Hamming Distance between two strings with the same length.The distance starts with zero, and for each occurrence of a different character in either String, it increments the distance by 1, and finally return its value.
Since the Hamming Distance can only be calculated between strings of equal length, input of different lengths will throw IllegalArgumentException
distance.apply("", "") = 0 distance.apply("pappa", "pappa") = 0 distance.apply("1011101", "1011111") = 1 distance.apply("ATCG", "ACCC") = 2 distance.apply("karolin", "kerstin" = 3
- Type Parameters:
E
- The type of similarity score unit.- Parameters:
left
- the first input, must not be null.right
- the second input, must not be null.- Returns:
- distance.
- Throws:
IllegalArgumentException
- if either input isnull
or if they do not have the same length.- Since:
- 1.13.0
-