Package org.plumelib.util
Class ArraysPlume.ObjectArrayComparatorLexical
java.lang.Object
org.plumelib.util.ArraysPlume.ObjectArrayComparatorLexical
- All Implemented Interfaces:
Serializable
,Comparator<Object[]>
- Enclosing class:
- ArraysPlume
public static final class ArraysPlume.ObjectArrayComparatorLexical
extends Object
implements Comparator<Object[]>, Serializable
Compare two arrays lexically (element-by-element). If all shared elements are the same, but the
lengths differ, then the shorter array is considered less.
Note: this comparator imposes orderings that are inconsistent with Object.equals(java.lang.Object)
.
That is, it may return 0 if the arrays contain equal objects but are not equal according to
equals()
.
Note: if toString returns a nondeterministic value, such as one that depends on the result
of hashCode()
, then this comparator may yield different orderings from run to run of a
program.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final ArraysPlume.ObjectArrayComparatorLexical
The canonical ObjectArrayComparatorLexical. -
Constructor Summary
-
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
it
The canonical ObjectArrayComparatorLexical.
-
-
Constructor Details
-
ObjectArrayComparatorLexical
Deprecated.useit
.Create a new ObjectArrayComparatorLexical.
-
-
Method Details
-
compare
Compare two arrays lexically (element-by-element).- Specified by:
compare
in interfaceComparator<Object[]>
- Parameters:
a1
- first array to comparea2
- second array to compare- Returns:
- a negative integer, zero, or a positive integer, depending on whether the first argument is less than, equal to, or greater than the second argument
-
it
.