Interface SequenceDistanceMeasurer

  • All Superinterfaces:
    SequenceDistanceMeasurerDouble
    All Known Implementing Classes:
    EditDistance, ExactMatchDistance, KendallTauSequenceDistance, LongestCommonSubsequenceDistance

    public interface SequenceDistanceMeasurer
    extends SequenceDistanceMeasurerDouble

    Implement this interface, SequenceDistanceMeasurer, to define a distance metric for sequences. A sequence may have duplicate elements, unlike a Permutation which must have unique elements. Some SequenceDistanceMeasurers may require the pair of sequences to be the same length, while others do not have that requirement. Some SequenceDistanceMeasurers may require the pair of sequences to contain the same set of elements, while others do not have that requirement. Implementations of this interface compute distances that are integer valued.

    This interface extends the SequenceDistanceMeasurerDouble interface, providing default implementations of all of that superinterface's distancef methods by delegating the behavior to the various distance methods. In this way, implementers of SequenceDistanceMeasurer should not have a reason to implement the distancef methods of SequenceDistanceMeasurerDouble.

    If your sequences are guaranteed not to contain duplicates, and the pair is guaranteed to contain the same set of elements, and are of the same length, then consider instead using the classes that implement the PermutationDistanceMeasurer interface. Those classes are specifically for distance between permutations of the integers from 0 to N-1.

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      int distance​(boolean[] s1, boolean[] s2)
      Measures the distance between two arrays.
      int distance​(byte[] s1, byte[] s2)
      Measures the distance between two arrays.
      int distance​(char[] s1, char[] s2)
      Measures the distance between two arrays.
      int distance​(double[] s1, double[] s2)
      Measures the distance between two arrays.
      int distance​(float[] s1, float[] s2)
      Measures the distance between two arrays.
      int distance​(int[] s1, int[] s2)
      Measures the distance between two arrays.
      int distance​(long[] s1, long[] s2)
      Measures the distance between two arrays.
      int distance​(short[] s1, short[] s2)
      Measures the distance between two arrays.
      int distance​(Object[] s1, Object[] s2)
      Measures the distance between two arrays of objects.
      int distance​(String s1, String s2)
      Measures the distance between two Strings.
      <T> int distance​(List<T> s1, List<T> s2)
      Measures the distance between two lists of objects.
      default double distancef​(boolean[] s1, boolean[] s2)
      Measures the distance between two arrays.
      default double distancef​(byte[] s1, byte[] s2)
      Measures the distance between two arrays.
      default double distancef​(char[] s1, char[] s2)
      Measures the distance between two arrays.
      default double distancef​(double[] s1, double[] s2)
      Measures the distance between two arrays.
      default double distancef​(float[] s1, float[] s2)
      Measures the distance between two arrays.
      default double distancef​(int[] s1, int[] s2)
      Measures the distance between two arrays.
      default double distancef​(long[] s1, long[] s2)
      Measures the distance between two arrays.
      default double distancef​(short[] s1, short[] s2)
      Measures the distance between two arrays.
      default double distancef​(Object[] s1, Object[] s2)
      Measures the distance between two arrays of objects.
      default double distancef​(String s1, String s2)
      Measures the distance between two Strings.
      default <T> double distancef​(List<T> s1, List<T> s2)
      Measures the distance between two lists of objects.
    • Method Detail

      • distance

        int distance​(long[] s1,
                     long[] s2)
        Measures the distance between two arrays.
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distance

        int distance​(int[] s1,
                     int[] s2)
        Measures the distance between two arrays.
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distance

        int distance​(short[] s1,
                     short[] s2)
        Measures the distance between two arrays.
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distance

        int distance​(byte[] s1,
                     byte[] s2)
        Measures the distance between two arrays.
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distance

        int distance​(char[] s1,
                     char[] s2)
        Measures the distance between two arrays.
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distance

        int distance​(double[] s1,
                     double[] s2)
        Measures the distance between two arrays.
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distance

        int distance​(float[] s1,
                     float[] s2)
        Measures the distance between two arrays.
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distance

        int distance​(boolean[] s1,
                     boolean[] s2)
        Measures the distance between two arrays.
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distance

        int distance​(String s1,
                     String s2)
        Measures the distance between two Strings.
        Parameters:
        s1 - First String.
        s2 - Second String.
        Returns:
        distance between s1 and s2
      • distance

        int distance​(Object[] s1,
                     Object[] s2)
        Measures the distance between two arrays of objects. The objects in the arrays must be of a class that has overridden the Object.equals method.
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distance

        <T> int distance​(List<T> s1,
                         List<T> s2)
        Measures the distance between two lists of objects. The objects in the lists must be of a class that has overridden the Object.equals method.
        Type Parameters:
        T - Type of List elements.
        Parameters:
        s1 - First list.
        s2 - Second list.
        Returns:
        distance between s1 and s2
      • distancef

        default double distancef​(Object[] s1,
                                 Object[] s2)
        Description copied from interface: SequenceDistanceMeasurerDouble
        Measures the distance between two arrays of objects. The objects in the arrays must be of a class that has overridden the Object.equals method.
        Specified by:
        distancef in interface SequenceDistanceMeasurerDouble
        Parameters:
        s1 - First array.
        s2 - Second array.
        Returns:
        distance between s1 and s2
      • distancef

        default <T> double distancef​(List<T> s1,
                                     List<T> s2)
        Description copied from interface: SequenceDistanceMeasurerDouble
        Measures the distance between two lists of objects. The objects in the lists must be of a class that has overridden the Object.equals method.
        Specified by:
        distancef in interface SequenceDistanceMeasurerDouble
        Type Parameters:
        T - Type of List elements.
        Parameters:
        s1 - First list.
        s2 - Second list.
        Returns:
        distance between s1 and s2