Class IntersectionSimilarity<T>
java.lang.Object
org.apache.commons.text.similarity.IntersectionSimilarity<T>
- Type Parameters:
T
- the type of the elements extracted from the character sequence
- All Implemented Interfaces:
BiFunction<CharSequence,
,CharSequence, IntersectionResult> ObjectSimilarityScore<CharSequence,
,IntersectionResult> SimilarityScore<IntersectionResult>
public class IntersectionSimilarity<T>
extends Object
implements SimilarityScore<IntersectionResult>
Measures the intersection of two sets created from a pair of character sequences.
It is assumed that the type T
correctly conforms to the requirements for storage
within a Set
or HashMap
. Ideally the type is immutable and implements
Object.equals(Object)
and Object.hashCode()
.
-
Constructor Summary
ConstructorDescriptionIntersectionSimilarity
(Function<CharSequence, Collection<T>> converter) Create a new intersection similarity using the provided converter. -
Method Summary
Modifier and TypeMethodDescriptionapply
(CharSequence left, CharSequence right) Calculates the intersection of two character sequences passed as input.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
-
IntersectionSimilarity
Create a new intersection similarity using the provided converter.If the converter returns a
Set
then the intersection result will not include duplicates. Any otherCollection
is used to produce a result that will include duplicates in the intersect and union.- Parameters:
converter
- the converter used to create the elements from the characters- Throws:
IllegalArgumentException
- if the converter is null
-
-
Method Details
-
apply
Calculates the intersection of two character sequences passed as input.- Specified by:
apply
in interfaceBiFunction<CharSequence,
CharSequence, IntersectionResult> - Specified by:
apply
in interfaceObjectSimilarityScore<CharSequence,
IntersectionResult> - Specified by:
apply
in interfaceSimilarityScore<T>
- Parameters:
left
- first character sequenceright
- second character sequence- Returns:
- The intersection result
- Throws:
IllegalArgumentException
- if either input sequence isnull
-