cern.colt.function

## Interface LongComparator

-     public interface LongComparator

  A comparison function which imposes a total ordering on some collection of elements. Comparators can be passed to a sort method (such as `cern.colt.Sorting.quickSort`) to allow precise control over the sort order.

  Note: It is generally a good idea for comparators to implement `java.io.Serializable`, as they may be used as ordering methods in serializable data structures. In order for the data structure to serialize successfully, the comparator (if provided) must implement `Serializable`.

  Version:
    0.1 01/09/99
  See Also:
    `Comparator`, `Sorting`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compare(long o1, long o2)` Compares its two arguments for order.
    `boolean` | `equals(java.lang.Object obj)` Indicates whether some other object is "equal to" this Comparator.

- - ### Method Detail

    - #### compare

          int compare(long o1,
                    long o2)

      Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

      The implementor must ensure that `sgn(compare(x, y)) == -sgn(compare(y, x))` for all `x` and `y`. (This implies that `compare(x, y)` must throw an exception if and only if `compare(y, x)` throws an exception.)

      The implementor must also ensure that the relation is transitive: `((compare(x, y)>0) && (compare(y, z)>0))` implies `compare(x, z)>0`.

      Finally, the implementer must ensure that `compare(x, y)==0` implies that `sgn(compare(x, z))==sgn(compare(y, z))` for all `z`.

      Returns:
        a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

    - #### equals

          boolean equals(java.lang.Object obj)

      Indicates whether some other object is "equal to" this Comparator. This method must obey the general contract of `Object.equals(Object)`. Additionally, this method can return `true` only if the specified Object is also a comparator and it imposes the same ordering as this comparator. Thus, `comp1.equals(comp2)` implies that `sgn(comp1.compare(o1, o2))==sgn(comp2.compare(o1, o2))` for every element `o1` and `o2`.

      Note that it is always safe not to override `Object.equals(Object)`. However, overriding this method may, in some cases, improve performance by allowing programs to determine that two distinct Comparators impose the same order.

      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `obj` - the reference object with which to compare.
      Returns:
        `true` only if the specified object is also a comparator and it imposes the same ordering as this comparator.
      See Also:
        `Object.equals(java.lang.Object)`, `Object.hashCode()`

Jump to the Colt Homepage