diff --git a/common/kvstore/src/main/java/org/apache/spark/util/kvstore/ArrayWrappers.java b/common/kvstore/src/main/java/org/apache/spark/util/kvstore/ArrayWrappers.java index 477fbdb0d34c0..d8bbaaee6c4cb 100644 --- a/common/kvstore/src/main/java/org/apache/spark/util/kvstore/ArrayWrappers.java +++ b/common/kvstore/src/main/java/org/apache/spark/util/kvstore/ArrayWrappers.java @@ -81,17 +81,7 @@ public int hashCode() { @Override public int compareTo(ComparableIntArray other) { - int len = Math.min(array.length, other.array.length); - for (int i = 0; i < len; i++) { - // Use Integer.compare; subtraction overflows for large opposite-sign values - // (e.g. Integer.MIN_VALUE vs Integer.MAX_VALUE) and returns the wrong ordering. - int diff = Integer.compare(array[i], other.array[i]); - if (diff != 0) { - return diff; - } - } - - return Integer.compare(array.length, other.array.length); + return Arrays.compare(array, other.array); } } @@ -122,17 +112,7 @@ public int hashCode() { @Override public int compareTo(ComparableLongArray other) { - int len = Math.min(array.length, other.array.length); - for (int i = 0; i < len; i++) { - // Use Long.compare; subtraction overflows for large opposite-sign values - // (e.g. Long.MIN_VALUE vs Long.MAX_VALUE) and returns the wrong ordering. - int diff = Long.compare(array[i], other.array[i]); - if (diff != 0) { - return diff; - } - } - - return Integer.compare(array.length, other.array.length); + return Arrays.compare(array, other.array); } } @@ -163,15 +143,7 @@ public int hashCode() { @Override public int compareTo(ComparableByteArray other) { - int len = Math.min(array.length, other.array.length); - for (int i = 0; i < len; i++) { - int diff = array[i] - other.array[i]; - if (diff != 0) { - return diff; - } - } - - return array.length - other.array.length; + return Arrays.compare(array, other.array); } }