Package org.plumelib.util
Class ArraysPlume.ComparableArrayComparatorLexical<T extends Comparable<T>>
java.lang.Object
org.plumelib.util.ArraysPlume.ComparableArrayComparatorLexical<T>
- Type Parameters:
T
- the type of the array elements
- All Implemented Interfaces:
Serializable
,Comparator<T[]>
- Enclosing class:
- ArraysPlume
public static final class ArraysPlume.ComparableArrayComparatorLexical<T extends Comparable<T>>
extends Object
implements Comparator<T[]>, 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 identical elements but are not equal according
to equals()
(which tests reference equality).
- See Also:
-
Constructor Summary
ConstructorDescriptionCreate a new ComparableArrayComparatorLexical. -
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
-
Constructor Details
-
ComparableArrayComparatorLexical
public ComparableArrayComparatorLexical()Create a new ComparableArrayComparatorLexical.
-
-
Method Details
-
compare
Compare two arrays lexically (element-by-element).- Specified by:
compare
in interfaceComparator<T extends Comparable<T>>
- 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
-