Package org.plumelib.util
Class ArraysPlume.LongArrayComparatorLengthFirst
java.lang.Object
org.plumelib.util.ArraysPlume.LongArrayComparatorLengthFirst
- All Implemented Interfaces:
Serializable
,Comparator<long[]>
- Enclosing class:
- ArraysPlume
public static final class ArraysPlume.LongArrayComparatorLengthFirst
extends Object
implements Comparator<long[]>, Serializable
Compare two arrays first by length (a shorter array is considered less), and if of equal length
compare lexically (element-by-element).
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 numbers but are not equal according to
equals()
.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final ArraysPlume.LongArrayComparatorLengthFirst
The canonical LongArrayComparatorLengthFirst. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
compare
(long[] a1, long[] a2) Compare two arrays by length, then lexically (element-by-element).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 LongArrayComparatorLengthFirst.
-
-
Constructor Details
-
LongArrayComparatorLengthFirst
Deprecated.useit
.Create a new LongArrayComparatorLengthFirst.
-
-
Method Details
-
compare
@Pure public int compare(long[] a1, long[] a2) Compare two arrays by length, then lexically (element-by-element).- Specified by:
compare
in interfaceComparator<long[]>
- 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
.