@InterfaceAudience.Public @InterfaceStability.Stable public class Bytes extends Object
Modifier and Type | Class and Description |
---|---|
static class |
Bytes.ByteArrayComparator
Byte array comparator class.
|
static class |
Bytes.RowEndKeyComparator
A
Bytes.ByteArrayComparator that treats the empty array as the largest value. |
Modifier and Type | Field and Description |
---|---|
static Comparator<byte[]> |
BYTES_COMPARATOR
Pass this to TreeMaps where byte [] are keys.
|
static <any> |
BYTES_RAWCOMPARATOR
Use comparing byte arrays, byte-by-byte
|
static int |
ESTIMATED_HEAP_TAX
Estimate of size cost to pay beyond payload in jvm for instance of byte [].
|
static long |
MASK_FOR_LOWER_INT_IN_LONG
Mask to apply to a long to reveal the lower int only.
|
static int |
SIZEOF_BOOLEAN
Size of boolean in bytes
|
static int |
SIZEOF_BYTE
Size of byte in bytes
|
static int |
SIZEOF_CHAR
Size of char in bytes
|
static int |
SIZEOF_DOUBLE
Size of double in bytes
|
static int |
SIZEOF_FLOAT
Size of float in bytes
|
static int |
SIZEOF_INT
Size of int in bytes
|
static int |
SIZEOF_LONG
Size of long in bytes
|
static int |
SIZEOF_SHORT
Size of short in bytes
|
Constructor and Description |
---|
Bytes() |
Modifier and Type | Method and Description |
---|---|
static byte[] |
add(byte[][] arrays) |
static byte[] |
add(byte[] a,
byte[] b) |
static byte[] |
add(byte[] a,
byte[] b,
byte[] c) |
static int |
binarySearch(byte[][] arr,
byte[] key,
int offset,
int length,
<any> comparator)
Binary search for keys in indexes.
|
static int |
binarySearch(byte[][] arr,
Cell key,
<any> comparator)
Binary search for keys in indexes.
|
static long |
bytesToVint(byte[] buffer) |
static int |
compareTo(byte[] left,
byte[] right) |
static int |
compareTo(byte[] buffer1,
int offset1,
int length1,
byte[] buffer2,
int offset2,
int length2)
Lexicographically compare two arrays.
|
static boolean |
contains(byte[] array,
byte target) |
static boolean |
contains(byte[] array,
byte[] target) |
static byte[] |
copy(byte[] bytes)
Copy the byte array given in parameter and return an instance
of a new byte array with the same length and the same content.
|
static byte[] |
copy(byte[] bytes,
int offset,
int length)
Copy the byte array given in parameter and return an instance
of a new byte array with the same length and the same content.
|
static byte[] |
createMaxByteArray(int maxByteCount)
Create a max byte array with the specified max byte count
|
static boolean |
equals(byte[] left,
byte[] right) |
static boolean |
equals(byte[] a,
ByteBuffer buf) |
static boolean |
equals(byte[] left,
int leftOffset,
int leftLen,
byte[] right,
int rightOffset,
int rightLen) |
static boolean |
equals(List<byte[]> a,
List<byte[]> b) |
static byte[] |
fromHex(String hex)
Create a byte array from a string of hash digits.
|
static byte[] |
getBytes(ByteBuffer buf)
Returns a new byte array, copied from the given
buf ,
from the position (inclusive) to the limit (exclusive). |
static List<byte[]> |
getUtf8ByteArrays(List<String> strings) |
static int |
hashCode(byte[] b) |
static int |
hashCode(byte[] b,
int length) |
static int |
hashCode(byte[] bytes,
int offset,
int length) |
static byte[] |
head(byte[] a,
int length) |
static byte[] |
incrementBytes(byte[] value,
long amount)
Bytewise binary increment/deincrement of long contained in byte array
on given amount.
|
static int |
indexOf(byte[] array,
byte target)
Returns the index of the first appearance of the value
target in
array . |
static int |
indexOf(byte[] array,
byte[] target)
Returns the start position of the first occurrence of the specified
target within array , or -1 if there is no such occurrence. |
static boolean |
isSorted(Collection<byte[]> arrays) |
static Iterable<byte[]> |
iterateOnSplits(byte[] a,
byte[] b,
boolean inclusive,
int num)
Iterate over keys within the passed range.
|
static Iterable<byte[]> |
iterateOnSplits(byte[] a,
byte[] b,
int num)
Iterate over keys within the passed range, splitting at an [a,b) boundary.
|
static int |
len(byte[] b)
Returns length of the byte array, returning 0 if the array is null.
|
static Integer |
mapKey(byte[] b) |
static Integer |
mapKey(byte[] b,
int length) |
static byte[] |
multiple(byte[] srcBytes,
int multiNum)
Create a byte array which is multiple given bytes
|
static byte[] |
padHead(byte[] a,
int length) |
static byte[] |
padTail(byte[] a,
int length) |
static int |
putAsShort(byte[] bytes,
int offset,
int val)
Put an int value as short out to the specified byte array position.
|
static int |
putBigDecimal(byte[] bytes,
int offset,
BigDecimal val)
Put a BigDecimal value out to the specified byte array position.
|
static int |
putByte(byte[] bytes,
int offset,
byte b)
Write a single byte out to the specified byte array position.
|
static int |
putByteBuffer(byte[] bytes,
int offset,
ByteBuffer buf)
Add the whole content of the ByteBuffer to the bytes arrays.
|
static int |
putBytes(byte[] tgtBytes,
int tgtOffset,
byte[] srcBytes,
int srcOffset,
int srcLength)
Put bytes at the specified byte array position.
|
static int |
putDouble(byte[] bytes,
int offset,
double d) |
static int |
putFloat(byte[] bytes,
int offset,
float f) |
static int |
putInt(byte[] bytes,
int offset,
int val)
Put an int value out to the specified byte array position.
|
static int |
putIntUnsafe(byte[] bytes,
int offset,
int val)
Put an int value out to the specified byte array position (Unsafe).
|
static int |
putLong(byte[] bytes,
int offset,
long val)
Put a long value out to the specified byte array position.
|
static int |
putLongUnsafe(byte[] bytes,
int offset,
long val)
Put a long value out to the specified byte array position (Unsafe).
|
static int |
putShort(byte[] bytes,
int offset,
short val)
Put a short value out to the specified byte array position.
|
static int |
putShortUnsafe(byte[] bytes,
int offset,
short val)
Put a short value out to the specified byte array position (Unsafe).
|
static void |
random(byte[] b)
Fill given array with random bytes.
|
static void |
random(byte[] b,
int offset,
int length)
Fill given array with random bytes at the specified position.
|
static int |
readAsInt(byte[] bytes,
int offset,
int length)
Converts a byte array to an int value
|
static long |
readAsVLong(byte[] buffer,
int offset)
Reads a zero-compressed encoded long from input buffer and returns it.
|
static byte[] |
readByteArray(DataInput in)
Read byte-array written with a WritableableUtils.vint prefix.
|
static byte[] |
readByteArrayThrowsRuntime(DataInput in)
Read byte-array written with a WritableableUtils.vint prefix.
|
static String |
readStringFixedSize(DataInput in,
int size)
Reads a fixed-size field and interprets it as a string padded with zeros.
|
static long |
readVLong(byte[] buffer,
int offset)
Deprecated.
Use
#readAsVLong() instead. |
static byte[][] |
split(byte[] a,
byte[] b,
boolean inclusive,
int num)
Split passed range.
|
static byte[][] |
split(byte[] a,
byte[] b,
int num)
Split passed range.
|
static boolean |
startsWith(byte[] bytes,
byte[] prefix)
Return true if the byte array on the right is a prefix of the byte
array on the left.
|
static byte[] |
tail(byte[] a,
int length) |
static BigDecimal |
toBigDecimal(byte[] bytes)
Converts a byte array to a BigDecimal
|
static BigDecimal |
toBigDecimal(byte[] bytes,
int offset,
int length)
Converts a byte array to a BigDecimal value
|
static byte[][] |
toBinaryByteArrays(String[] t) |
static byte |
toBinaryFromHex(byte ch)
Takes a ASCII digit in the range A-F0-9 and returns
the corresponding integer/ordinal value.
|
static boolean |
toBoolean(byte[] b)
Reverses
toBytes(boolean) |
static byte[][] |
toByteArrays(byte[] column) |
static byte[][] |
toByteArrays(String column) |
static byte[][] |
toByteArrays(String[] t) |
static byte[] |
toBytes(BigDecimal val)
Convert a BigDecimal value to a byte array
|
static byte[] |
toBytes(boolean b)
Convert a boolean to a byte array.
|
static byte[] |
toBytes(ByteBuffer buf)
Returns a new byte array, copied from the given
buf ,
from the index 0 (inclusive) to the limit (exclusive),
regardless of the current position. |
static byte[] |
toBytes(double d)
Serialize a double as the IEEE 754 double format output.
|
static byte[] |
toBytes(float f) |
static byte[] |
toBytes(int val)
Convert an int value to a byte array.
|
static byte[] |
toBytes(long val)
Convert a long value to a byte array using big-endian.
|
static byte[] |
toBytes(short val)
Convert a short value to a byte array of
SIZEOF_SHORT bytes long. |
static byte[] |
toBytes(String s)
Converts a string to a UTF-8 byte array.
|
static byte[] |
toBytesBinary(String in) |
static double |
toDouble(byte[] bytes) |
static double |
toDouble(byte[] bytes,
int offset) |
static float |
toFloat(byte[] bytes)
Presumes float encoded as IEEE 754 floating-point "single format"
|
static float |
toFloat(byte[] bytes,
int offset)
Presumes float encoded as IEEE 754 floating-point "single format"
|
static String |
toHex(byte[] b)
Convert a byte array into a hex string
|
static int |
toInt(byte[] bytes)
Converts a byte array to an int value
|
static int |
toInt(byte[] bytes,
int offset)
Converts a byte array to an int value
|
static int |
toInt(byte[] bytes,
int offset,
int length)
Converts a byte array to an int value
|
static int |
toIntUnsafe(byte[] bytes,
int offset)
Converts a byte array to an int value (Unsafe version)
|
static long |
toLong(byte[] bytes)
Converts a byte array to a long value.
|
static long |
toLong(byte[] bytes,
int offset)
Converts a byte array to a long value.
|
static long |
toLong(byte[] bytes,
int offset,
int length)
Converts a byte array to a long value.
|
static long |
toLongUnsafe(byte[] bytes,
int offset)
Converts a byte array to an long value (Unsafe version)
|
static short |
toShort(byte[] bytes)
Converts a byte array to a short value
|
static short |
toShort(byte[] bytes,
int offset)
Converts a byte array to a short value
|
static short |
toShort(byte[] bytes,
int offset,
int length)
Converts a byte array to a short value
|
static short |
toShortUnsafe(byte[] bytes,
int offset)
Converts a byte array to an short value (Unsafe version)
|
static String |
toString(byte[] b) |
static String |
toString(byte[] b,
int off)
This method will convert utf8 encoded bytes into a string.
|
static String |
toString(byte[] b,
int off,
int len)
This method will convert utf8 encoded bytes into a string.
|
static String |
toString(byte[] b1,
String sep,
byte[] b2)
Joins two byte arrays together using a separator.
|
static String |
toStringBinary(byte[] b)
Write a printable representation of a byte array.
|
static String |
toStringBinary(byte[] b,
int off,
int len)
Write a printable representation of a byte array.
|
static String |
toStringBinary(ByteBuffer buf)
Converts the given byte buffer to a printable representation,
from the index 0 (inclusive) to the limit (exclusive),
regardless of the current position.
|
static int |
unsignedBinarySearch(byte[] a,
int fromIndex,
int toIndex,
byte key)
Search sorted array "a" for byte "key".
|
static byte[] |
unsignedCopyAndIncrement(byte[] input)
Treat the byte[] as an unsigned series of bytes, most significant bits first.
|
static byte[] |
vintToBytes(long vint) |
static int |
writeByteArray(byte[] tgt,
int tgtOffset,
byte[] src,
int srcOffset,
int srcLength)
Write byte-array from src to tgt with a vint length prefix.
|
static void |
writeByteArray(DataOutput out,
byte[] b)
Write byte-array with a WritableableUtils.vint prefix.
|
static void |
writeByteArray(DataOutput out,
byte[] b,
int offset,
int length)
Write byte-array to out with a vint length prefix.
|
static void |
writeStringFixedSize(DataOutput out,
String s,
int size)
Writes a string as a fixed-size field, padded with zeros.
|
static void |
zero(byte[] b)
Fill given array with zeros.
|
static void |
zero(byte[] b,
int offset,
int length)
Fill given array with zeros at the specified position.
|
public static final int SIZEOF_BOOLEAN
public static final int SIZEOF_BYTE
public static final int SIZEOF_CHAR
public static final int SIZEOF_DOUBLE
public static final int SIZEOF_FLOAT
public static final int SIZEOF_INT
public static final int SIZEOF_LONG
public static final int SIZEOF_SHORT
public static final long MASK_FOR_LOWER_INT_IN_LONG
public static final int ESTIMATED_HEAP_TAX
public static final Comparator<byte[]> BYTES_COMPARATOR
public static final <any> BYTES_RAWCOMPARATOR
public static final int len(byte[] b)
b
- byte array, which can be nullpublic static byte[] readByteArray(DataInput in) throws IOException
in
- Input to read from.in
IOException
- epublic static byte[] readByteArrayThrowsRuntime(DataInput in)
in
- Input to read from.in
public static void writeByteArray(DataOutput out, byte[] b) throws IOException
out
- output stream to be written tob
- array to writeIOException
- epublic static void writeByteArray(DataOutput out, byte[] b, int offset, int length) throws IOException
out
- output streamb
- arrayoffset
- offset into arraylength
- length past offsetIOException
- epublic static int writeByteArray(byte[] tgt, int tgtOffset, byte[] src, int srcOffset, int srcLength)
tgt
- target arraytgtOffset
- offset into target arraysrc
- source arraysrcOffset
- source offsetsrcLength
- source lengthpublic static int putBytes(byte[] tgtBytes, int tgtOffset, byte[] srcBytes, int srcOffset, int srcLength)
tgtBytes
- the byte arraytgtOffset
- position in the arraysrcBytes
- array to write outsrcOffset
- source offsetsrcLength
- source lengthpublic static int putByte(byte[] bytes, int offset, byte b)
bytes
- the byte arrayoffset
- position in the arrayb
- byte to write outpublic static int putByteBuffer(byte[] bytes, int offset, ByteBuffer buf)
bytes
- the byte arrayoffset
- position in the arraybuf
- ByteBuffer to write outpublic static byte[] toBytes(ByteBuffer buf)
buf
,
from the index 0 (inclusive) to the limit (exclusive),
regardless of the current position.
The position and the other index parameters are not changed.buf
- a byte buffergetBytes(ByteBuffer)
public static String toString(byte[] b)
b
- Presumed UTF-8 encoded byte array.b
public static String toString(byte[] b1, String sep, byte[] b2)
b1
- The first byte array.sep
- The separator to use.b2
- The second byte array.public static String toString(byte[] b, int off)
b
- Presumed UTF-8 encoded byte array.off
- offset into arrayb
or nullpublic static String toString(byte[] b, int off, int len)
b
- Presumed UTF-8 encoded byte array.off
- offset into arraylen
- length of utf-8 sequenceb
or nullpublic static String toStringBinary(byte[] b)
b
- byte arraytoStringBinary(byte[], int, int)
public static String toStringBinary(ByteBuffer buf)
buf
- a byte buffertoBytes(ByteBuffer)
,
getBytes(ByteBuffer)
public static String toStringBinary(byte[] b, int off, int len)
b
- array to write outoff
- offset to start atlen
- length to writepublic static byte toBinaryFromHex(byte ch)
ch
- The hex digit.public static byte[] toBytesBinary(String in)
public static byte[] toBytes(String s)
s
- stringpublic static byte[] toBytes(boolean b)
b
- valueb
encoded in a byte array.public static boolean toBoolean(byte[] b)
toBytes(boolean)
b
- arraypublic static byte[] toBytes(long val)
val
- value to convertpublic static long toLong(byte[] bytes)
toBytes(long)
bytes
- arraypublic static long toLong(byte[] bytes, int offset)
SIZEOF_LONG
bytes available.bytes
- bytesoffset
- offsetpublic static long toLong(byte[] bytes, int offset, int length)
bytes
- array of bytesoffset
- offset into arraylength
- length of data (must be SIZEOF_LONG
)IllegalArgumentException
- if length is not SIZEOF_LONG
or
if there's not enough room in the array at the offset indicated.public static int putLong(byte[] bytes, int offset, long val)
bytes
- the byte arrayoffset
- position in the arrayval
- long to write outIllegalArgumentException
- if the byte array given doesn't have
enough room at the offset specified.public static int putLongUnsafe(byte[] bytes, int offset, long val)
bytes
- the byte arrayoffset
- position in the arrayval
- long to write outpublic static float toFloat(byte[] bytes)
bytes
- byte arraypublic static float toFloat(byte[] bytes, int offset)
bytes
- array to convertoffset
- offset into arraypublic static int putFloat(byte[] bytes, int offset, float f)
bytes
- byte arrayoffset
- offset to write tof
- float valuebytes
public static byte[] toBytes(float f)
f
- float valuepublic static double toDouble(byte[] bytes)
bytes
- byte arraypublic static double toDouble(byte[] bytes, int offset)
bytes
- byte arrayoffset
- offset where double ispublic static int putDouble(byte[] bytes, int offset, double d)
bytes
- byte arrayoffset
- offset to write tod
- valuebytes
public static byte[] toBytes(double d)
d
- valuepublic static byte[] toBytes(int val)
val
- valuepublic static int toInt(byte[] bytes)
bytes
- byte arraypublic static int toInt(byte[] bytes, int offset)
bytes
- byte arrayoffset
- offset into arraypublic static int toInt(byte[] bytes, int offset, int length)
bytes
- byte arrayoffset
- offset into arraylength
- length of int (has to be SIZEOF_INT
)IllegalArgumentException
- if length is not SIZEOF_INT
or
if there's not enough room in the array at the offset indicated.public static int toIntUnsafe(byte[] bytes, int offset)
bytes
- byte arrayoffset
- offset into arraypublic static short toShortUnsafe(byte[] bytes, int offset)
bytes
- byte arrayoffset
- offset into arraypublic static long toLongUnsafe(byte[] bytes, int offset)
bytes
- byte arrayoffset
- offset into arraypublic static int readAsInt(byte[] bytes, int offset, int length)
bytes
- byte arrayoffset
- offset into arraylength
- how many bytes should be considered for creating intIllegalArgumentException
- if there's not enough room in the array at the offset
indicated.public static int putInt(byte[] bytes, int offset, int val)
bytes
- the byte arrayoffset
- position in the arrayval
- int to write outIllegalArgumentException
- if the byte array given doesn't have
enough room at the offset specified.public static int putIntUnsafe(byte[] bytes, int offset, int val)
bytes
- the byte arrayoffset
- position in the arrayval
- int to write outpublic static byte[] toBytes(short val)
SIZEOF_SHORT
bytes long.val
- valuepublic static short toShort(byte[] bytes)
bytes
- byte arraypublic static short toShort(byte[] bytes, int offset)
bytes
- byte arrayoffset
- offset into arraypublic static short toShort(byte[] bytes, int offset, int length)
bytes
- byte arrayoffset
- offset into arraylength
- length, has to be SIZEOF_SHORT
IllegalArgumentException
- if length is not SIZEOF_SHORT
or if there's not enough room in the array at the offset indicated.public static byte[] getBytes(ByteBuffer buf)
buf
,
from the position (inclusive) to the limit (exclusive).
The position and the other index parameters are not changed.buf
- a byte buffertoBytes(ByteBuffer)
public static int putShort(byte[] bytes, int offset, short val)
bytes
- the byte arrayoffset
- position in the arrayval
- short to write outIllegalArgumentException
- if the byte array given doesn't have
enough room at the offset specified.public static int putShortUnsafe(byte[] bytes, int offset, short val)
bytes
- the byte arrayoffset
- position in the arrayval
- short to write outpublic static int putAsShort(byte[] bytes, int offset, int val)
bytes
- the byte arrayoffset
- position in the arrayval
- value to write outIllegalArgumentException
- if the byte array given doesn't have
enough room at the offset specified.public static byte[] toBytes(BigDecimal val)
val
- public static BigDecimal toBigDecimal(byte[] bytes)
bytes
- public static BigDecimal toBigDecimal(byte[] bytes, int offset, int length)
bytes
- offset
- length
- public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val)
bytes
- the byte arrayoffset
- position in the arrayval
- BigDecimal to write outpublic static byte[] vintToBytes(long vint)
vint
- Integer to make a vint of.public static long bytesToVint(byte[] buffer)
buffer
- buffer to convert@Deprecated public static long readVLong(byte[] buffer, int offset) throws IOException
#readAsVLong()
instead.buffer
- Binary arrayoffset
- Offset into array at which vint begins.IOException
- epublic static long readAsVLong(byte[] buffer, int offset)
buffer
- Binary arrayoffset
- Offset into array at which vint begins.public static int compareTo(byte[] left, byte[] right)
left
- left operandright
- right operandpublic static int compareTo(byte[] buffer1, int offset1, int length1, byte[] buffer2, int offset2, int length2)
buffer1
- left operandbuffer2
- right operandoffset1
- Where to start comparing in the left bufferoffset2
- Where to start comparing in the right bufferlength1
- How much to compare from the left bufferlength2
- How much to compare from the right bufferpublic static boolean equals(byte[] left, byte[] right)
left
- left operandright
- right operandpublic static boolean equals(byte[] left, int leftOffset, int leftLen, byte[] right, int rightOffset, int rightLen)
public static boolean equals(byte[] a, ByteBuffer buf)
a
- left operandbuf
- right operandpublic static boolean startsWith(byte[] bytes, byte[] prefix)
public static int hashCode(byte[] b)
b
- bytes to hashWritableComparator#hashBytes(byte[], int)
on the
passed in array. This method is what org.apache.hadoop.io.Text
and
ImmutableBytesWritable
use calculating hash code.public static int hashCode(byte[] b, int length)
b
- valuelength
- length of the valueWritableComparator#hashBytes(byte[], int)
on the
passed in array. This method is what org.apache.hadoop.io.Text
and
ImmutableBytesWritable
use calculating hash code.public static Integer mapKey(byte[] b)
b
- bytes to hashb
as an Integer that can be used as key in
Maps.public static Integer mapKey(byte[] b, int length)
b
- bytes to hashlength
- length to hashb
as an Integer that can be used as key in
Maps.public static byte[] add(byte[] a, byte[] b)
a
- lower halfb
- upper halfpublic static byte[] add(byte[] a, byte[] b, byte[] c)
a
- first thirdb
- second thirdc
- third thirdpublic static byte[] add(byte[][] arrays)
arrays
- all the arrays to concatenate together.public static byte[] head(byte[] a, int length)
a
- arraylength
- amount of bytes to grablength
bytes from a
public static byte[] tail(byte[] a, int length)
a
- arraylength
- amount of bytes to snarflength
bytes from a
public static byte[] padHead(byte[] a, int length)
a
- arraylength
- new array sizea
plus length
prepended 0 bytespublic static byte[] padTail(byte[] a, int length)
a
- arraylength
- new array sizea
plus length
appended 0 bytespublic static byte[][] split(byte[] a, byte[] b, int num)
a
- Beginning of rangeb
- End of rangenum
- Number of times to split range. Pass 1 if you want to split
the range in two; i.e. one split.public static byte[][] split(byte[] a, byte[] b, boolean inclusive, int num)
a
- Beginning of rangeb
- End of rangeinclusive
- Whether the end of range is prefix-inclusive or is
considered an exclusive boundary. Automatic splits are generally exclusive
and manual splits with an explicit range utilize an inclusive end of range.num
- Number of times to split range. Pass 1 if you want to split
the range in two; i.e. one split.public static Iterable<byte[]> iterateOnSplits(byte[] a, byte[] b, int num)
public static Iterable<byte[]> iterateOnSplits(byte[] a, byte[] b, boolean inclusive, int num)
public static int hashCode(byte[] bytes, int offset, int length)
bytes
- array to hashoffset
- offset to start fromlength
- length to hashpublic static byte[][] toByteArrays(String[] t)
t
- operandspublic static byte[][] toBinaryByteArrays(String[] t)
t
- operandspublic static byte[][] toByteArrays(String column)
column
- operandcolumn
public static byte[][] toByteArrays(byte[] column)
column
- operandcolumn
public static int binarySearch(byte[][] arr, byte[] key, int offset, int length, <any> comparator)
arr
- array of byte arrays to search forkey
- the key you want to findoffset
- the offset in the key you want to findlength
- the length of the keycomparator
- a comparator to compare.public static int binarySearch(byte[][] arr, Cell key, <any> comparator)
arr
- array of byte arrays to search forkey
- the key you want to findcomparator
- a comparator to compare.public static byte[] incrementBytes(byte[] value, long amount)
value
- - array of bytes containing long (length <= SIZEOF_LONG)amount
- value will be incremented on (deincremented if negative)public static void writeStringFixedSize(DataOutput out, String s, int size) throws IOException
IOException
public static String readStringFixedSize(DataInput in, int size) throws IOException
IOException
public static byte[] copy(byte[] bytes)
bytes
- the byte array to duplicatepublic static byte[] copy(byte[] bytes, int offset, int length)
bytes
- the byte array to copy fromoffset
- length
- public static int unsignedBinarySearch(byte[] a, int fromIndex, int toIndex, byte key)
a
- Array to search. Entries must be sorted and unique.fromIndex
- First index inclusive of "a" to include in the search.toIndex
- Last index exclusive of "a" to include in the search.key
- The byte to search for.public static byte[] unsignedCopyAndIncrement(byte[] input)
input
- The byte[] to increment.public static boolean isSorted(Collection<byte[]> arrays)
public static int indexOf(byte[] array, byte target)
target
in
array
.array
- an array of byte
values, possibly emptytarget
- a primitive byte
valuei
for which array[i] == target
, or
-1
if no such index exists.public static int indexOf(byte[] array, byte[] target)
target
within array
, or -1
if there is no such occurrence.
More formally, returns the lowest index i
such that java.util.Arrays.copyOfRange(array, i, i + target.length)
contains exactly
the same elements as target
.
array
- the array to search for the sequence target
target
- the array to search for as a sub-sequence of array
public static boolean contains(byte[] array, byte target)
array
- an array of byte
values, possibly emptytarget
- a primitive byte
valuetrue
if target
is present as an element anywhere in array
.public static boolean contains(byte[] array, byte[] target)
array
- an array of byte
values, possibly emptytarget
- an array of byte
true
if target
is present anywhere in array
public static void zero(byte[] b)
b
- array which needs to be filled with zerospublic static void zero(byte[] b, int offset, int length)
b
- offset
- length
- public static void random(byte[] b)
b
- array which needs to be filled with random bytespublic static void random(byte[] b, int offset, int length)
b
- offset
- length
- public static byte[] createMaxByteArray(int maxByteCount)
maxByteCount
- the length of returned byte arraypublic static byte[] multiple(byte[] srcBytes, int multiNum)
srcBytes
- multiNum
- public static String toHex(byte[] b)
b
- public static byte[] fromHex(String hex)
hex
-