Class CoordinateSequenceComparator

  • All Implemented Interfaces:
    java.util.Comparator

    public class CoordinateSequenceComparator
    extends java.lang.Object
    implements java.util.Comparator
    Compares two CoordinateSequences. For sequences of the same dimension, the ordering is lexicographic. Otherwise, lower dimensions are sorted before higher. The dimensions compared can be limited; if this is done ordinate dimensions above the limit will not be compared.

    If different behaviour is required for comparing size, dimension, or coordinate values, any or all methods can be overridden.

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static int compare​(double a, double b)
      Compare two doubles, allowing for NaN values.
      int compare​(java.lang.Object o1, java.lang.Object o2)
      Compares two CoordinateSequences for relative order.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Constructor Detail

      • CoordinateSequenceComparator

        public CoordinateSequenceComparator()
        Creates a comparator which will test all dimensions.
      • CoordinateSequenceComparator

        public CoordinateSequenceComparator​(int dimensionLimit)
        Creates a comparator which will test only the specified number of dimensions.
        Parameters:
        dimensionLimit - the number of dimensions to test
    • Method Detail

      • compare

        public static int compare​(double a,
                                  double b)
        Compare two doubles, allowing for NaN values. NaN is treated as being less than any valid number.
        Parameters:
        a - a double
        b - a double
        Returns:
        -1, 0, or 1 depending on whether a is less than, equal to or greater than b
      • compare

        public int compare​(java.lang.Object o1,
                           java.lang.Object o2)
        Compares two CoordinateSequences for relative order.
        Specified by:
        compare in interface java.util.Comparator
        Parameters:
        o1 - a CoordinateSequence
        o2 - a CoordinateSequence
        Returns:
        -1, 0, or 1 depending on whether o1 is less than, equal to, or greater than o2