用于字节数组的 Java 比较器(词典编纂)
2022-09-03 09:06:51
我有一个带有byte[]键的哈希图。我想通过树状图对其进行排序。
实现词典顺序比较器的最有效方法是什么?
我有一个带有byte[]键的哈希图。我想通过树状图对其进行排序。
实现词典顺序比较器的最有效方法是什么?
使用番石榴,您可以使用以下任一方法:
比较器似乎具有优化的表单,如果可以的话,它会使用该表单。代码中的注释表明,它的速度可能是普通 Java 实现的两倍。UnsignedBytes
Unsafe
在Apache Hbase中发现了这段不错的代码:
public int compare(byte[] left, byte[] right) {
for (int i = 0, j = 0; i < left.length && j < right.length; i++, j++) {
int a = (left[i] & 0xff);
int b = (right[j] & 0xff);
if (a != b) {
return a - b;
}
}
return left.length - right.length;
}