data-generator/datagen/src/main/java/it/cavallium/buffer/VariableLengthLexiconograph...

18 lines
539 B
Java

package it.cavallium.buffer;
import java.util.Arrays;
public class VariableLengthLexiconographicComparator implements ArraysComparator {
@Override
public int compare(byte[] a, byte[] b) {
return a.length != b.length ? Integer.compare(a.length, b.length) : Arrays.compareUnsigned(a, b);
}
@Override
public int compare(byte[] a, int aFrom, int aTo, byte[] b, int bFrom, int bTo) {
return (aTo - aFrom) != (bTo - bFrom) ? Integer.compare(aTo - aFrom, bTo - bFrom)
: Arrays.compareUnsigned(a, aFrom, aTo, b, bFrom, bTo);
}
}