Class Shorts
- java.lang.Object
 - 
- com.google.common.primitives.Shorts
 
 
- 
@GwtCompatible(emulated=true) public final class Shorts extends Object
Static utility methods pertaining toshortprimitives, that are not already found in eitherShortorArrays.See the Guava User Guide article on primitive utilities.
- Since:
 - 1.0
 - Author:
 - Kevin Bourrillion
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description static intBYTESThe number of bytes required to represent a primitiveshortvalue.static shortMAX_POWER_OF_TWOThe largest power of two that can be represented as ashort. 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static List<Short>asList(short... backingArray)Returns a fixed-size list backed by the specified array, similar toArrays.asList(Object[]).static shortcheckedCast(long value)Returns theshortvalue that is equal tovalue, if possible.static intcompare(short a, short b)Compares the two specifiedshortvalues.static short[]concat(short[]... arrays)Returns the values from each provided array combined into a single array.static shortconstrainToRange(short value, short min, short max)Returns the value nearest tovaluewhich is within the closed range[min..max].static booleancontains(short[] array, short target)Returnstrueiftargetis present as an element anywhere inarray.static short[]ensureCapacity(short[] array, int minLength, int padding)Returns an array containing the same values asarray, but guaranteed to be of a specified minimum length.static shortfromByteArray(byte[] bytes)Returns theshortvalue whose big-endian representation is stored in the first 2 bytes ofbytes; equivalent toByteBuffer.wrap(bytes).getShort().static shortfromBytes(byte b1, byte b2)Returns theshortvalue whose byte representation is the given 2 bytes, in big-endian order; equivalent toShorts.fromByteArray(new byte[] {b1, b2}).static inthashCode(short value)Returns a hash code forvalue; equal to the result of invoking((Short) value).hashCode().static intindexOf(short[] array, short target)Returns the index of the first appearance of the valuetargetinarray.static intindexOf(short[] array, short[] target)Returns the start position of the first occurrence of the specifiedtargetwithinarray, or-1if there is no such occurrence.static Stringjoin(String separator, short... array)Returns a string containing the suppliedshortvalues separated byseparator.static intlastIndexOf(short[] array, short target)Returns the index of the last appearance of the valuetargetinarray.static Comparator<short[]>lexicographicalComparator()Returns a comparator that compares twoshortarrays lexicographically.static shortmax(short... array)Returns the greatest value present inarray.static shortmin(short... array)Returns the least value present inarray.static voidreverse(short[] array)Reverses the elements ofarray.static voidreverse(short[] array, int fromIndex, int toIndex)Reverses the elements ofarraybetweenfromIndexinclusive andtoIndexexclusive.static voidrotate(short[] array, int distance)Performs a right rotation ofarrayof "distance" places, so that the first element is moved to index "distance", and the element at indexiends up at index(distance + i) mod array.length.static voidrotate(short[] array, int distance, int fromIndex, int toIndex)Performs a right rotation ofarraybetweenfromIndexinclusive andtoIndexexclusive.static shortsaturatedCast(long value)Returns theshortnearest in value tovalue.static voidsortDescending(short[] array)Sorts the elements ofarrayin descending order.static voidsortDescending(short[] array, int fromIndex, int toIndex)Sorts the elements ofarraybetweenfromIndexinclusive andtoIndexexclusive in descending order.static Converter<String,Short>stringConverter()Returns a serializable converter object that converts between strings and shorts usingShort.decode(java.lang.String)andShort.toString().static short[]toArray(Collection<? extends Number> collection)Returns an array containing each value ofcollection, converted to ashortvalue in the manner ofNumber.shortValue().static byte[]toByteArray(short value)Returns a big-endian representation ofvaluein a 2-element byte array; equivalent toByteBuffer.allocate(2).putShort(value).array(). 
 - 
 
- 
- 
Field Detail
- 
BYTES
public static final int BYTES
The number of bytes required to represent a primitiveshortvalue.Java 8+ users: use
Short.BYTESinstead.- See Also:
 - Constant Field Values
 
 
- 
MAX_POWER_OF_TWO
public static final short MAX_POWER_OF_TWO
The largest power of two that can be represented as ashort.- Since:
 - 10.0
 - See Also:
 - Constant Field Values
 
 
 - 
 
- 
Method Detail
- 
hashCode
public static int hashCode(short value)
Returns a hash code forvalue; equal to the result of invoking((Short) value).hashCode().Java 8+ users: use
Short.hashCode(short)instead.- Parameters:
 value- a primitiveshortvalue- Returns:
 - a hash code for the value
 
 
- 
checkedCast
public static short checkedCast(long value)
Returns theshortvalue that is equal tovalue, if possible.- Parameters:
 value- any value in the range of theshorttype- Returns:
 - the 
shortvalue that equalsvalue - Throws:
 IllegalArgumentException- ifvalueis greater thanShort.MAX_VALUEor less thanShort.MIN_VALUE
 
- 
saturatedCast
public static short saturatedCast(long value)
Returns theshortnearest in value tovalue.- Parameters:
 value- anylongvalue- Returns:
 - the same value cast to 
shortif it is in the range of theshorttype,Short.MAX_VALUEif it is too large, orShort.MIN_VALUEif it is too small 
 
- 
compare
@InlineMe(replacement="Short.compare(a, b)") public static int compare(short a, short b)
Compares the two specifiedshortvalues. The sign of the value returned is the same as that of((Short) a).compareTo(b).Note: this method is now unnecessary and should be treated as deprecated; use the equivalent
Short.compare(short, short)method instead.- Parameters:
 a- the firstshortto compareb- the secondshortto compare- Returns:
 - a negative value if 
ais less thanb; a positive value ifais greater thanb; or zero if they are equal 
 
- 
contains
public static boolean contains(short[] array, short target)
Returnstrueiftargetis present as an element anywhere inarray.- Parameters:
 array- an array ofshortvalues, possibly emptytarget- a primitiveshortvalue- Returns:
 trueifarray[i] == targetfor some value ofi
 
- 
indexOf
public static int indexOf(short[] array, short target)
Returns the index of the first appearance of the valuetargetinarray.- Parameters:
 array- an array ofshortvalues, possibly emptytarget- a primitiveshortvalue- Returns:
 - the least index 
ifor whicharray[i] == target, or-1if no such index exists. 
 
- 
indexOf
public static int indexOf(short[] array, short[] target)
Returns the start position of the first occurrence of the specifiedtargetwithinarray, or-1if there is no such occurrence.More formally, returns the lowest index
isuch thatArrays.copyOfRange(array, i, i + target.length)contains exactly the same elements astarget.- Parameters:
 array- the array to search for the sequencetargettarget- the array to search for as a sub-sequence ofarray
 
- 
lastIndexOf
public static int lastIndexOf(short[] array, short target)
Returns the index of the last appearance of the valuetargetinarray.- Parameters:
 array- an array ofshortvalues, possibly emptytarget- a primitiveshortvalue- Returns:
 - the greatest index 
ifor whicharray[i] == target, or-1if no such index exists. 
 
- 
min
@GwtIncompatible("Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") public static short min(short... array)
Returns the least value present inarray.- Parameters:
 array- a nonempty array ofshortvalues- Returns:
 - the value present in 
arraythat is less than or equal to every other value in the array - Throws:
 IllegalArgumentException- ifarrayis empty
 
- 
max
@GwtIncompatible("Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") public static short max(short... array)
Returns the greatest value present inarray.- Parameters:
 array- a nonempty array ofshortvalues- Returns:
 - the value present in 
arraythat is greater than or equal to every other value in the array - Throws:
 IllegalArgumentException- ifarrayis empty
 
- 
constrainToRange
public static short constrainToRange(short value, short min, short max)
Returns the value nearest tovaluewhich is within the closed range[min..max].If
valueis within the range[min..max],valueis returned unchanged. Ifvalueis less thanmin,minis returned, and ifvalueis greater thanmax,maxis returned.- Parameters:
 value- theshortvalue to constrainmin- the lower bound (inclusive) of the range to constrainvaluetomax- the upper bound (inclusive) of the range to constrainvalueto- Throws:
 IllegalArgumentException- ifmin > max- Since:
 - 21.0
 
 
- 
concat
public static short[] concat(short[]... arrays)
Returns the values from each provided array combined into a single array. For example,concat(new short[] {a, b}, new short[] {}, new short[] {c}returns the array{a, b, c}.- Parameters:
 arrays- zero or moreshortarrays- Returns:
 - a single array containing all the values from the source arrays, in order
 - Throws:
 IllegalArgumentException- if the total number of elements inarraysdoes not fit in anint
 
- 
toByteArray
@GwtIncompatible public static byte[] toByteArray(short value)
Returns a big-endian representation ofvaluein a 2-element byte array; equivalent toByteBuffer.allocate(2).putShort(value).array(). For example, the input value(short) 0x1234would yield the byte array{0x12, 0x34}.If you need to convert and concatenate several values (possibly even of different types), use a shared
ByteBufferinstance, or useByteStreams.newDataOutput()to get a growable buffer. 
- 
fromByteArray
@GwtIncompatible public static short fromByteArray(byte[] bytes)
Returns theshortvalue whose big-endian representation is stored in the first 2 bytes ofbytes; equivalent toByteBuffer.wrap(bytes).getShort(). For example, the input byte array{0x54, 0x32}would yield theshortvalue0x5432.Arguably, it's preferable to use
ByteBuffer; that library exposes much more flexibility at little cost in readability.- Throws:
 IllegalArgumentException- ifbyteshas fewer than 2 elements
 
- 
fromBytes
@GwtIncompatible public static short fromBytes(byte b1, byte b2)
Returns theshortvalue whose byte representation is the given 2 bytes, in big-endian order; equivalent toShorts.fromByteArray(new byte[] {b1, b2}).- Since:
 - 7.0
 
 
- 
stringConverter
public static Converter<String,Short> stringConverter()
Returns a serializable converter object that converts between strings and shorts usingShort.decode(java.lang.String)andShort.toString(). The returned converter throwsNumberFormatExceptionif the input string is invalid.Warning: please see
Short.decode(java.lang.String)to understand exactly how strings are parsed. For example, the string"0123"is treated as octal and converted to the value83.- Since:
 - 16.0
 
 
- 
ensureCapacity
public static short[] ensureCapacity(short[] array, int minLength, int padding)
Returns an array containing the same values asarray, but guaranteed to be of a specified minimum length. Ifarrayalready has a length of at leastminLength, it is returned directly. Otherwise, a new array of sizeminLength + paddingis returned, containing the values ofarray, and zeroes in the remaining places.- Parameters:
 array- the source arrayminLength- the minimum length the returned array must guaranteepadding- an extra amount to "grow" the array by if growth is necessary- Returns:
 - an array containing the values of 
array, with guaranteed minimum lengthminLength - Throws:
 IllegalArgumentException- ifminLengthorpaddingis negative
 
- 
join
public static String join(String separator, short... array)
Returns a string containing the suppliedshortvalues separated byseparator. For example,join("-", (short) 1, (short) 2, (short) 3)returns the string"1-2-3".- Parameters:
 separator- the text that should appear between consecutive values in the resulting string (but not at the start or end)array- an array ofshortvalues, possibly empty
 
- 
lexicographicalComparator
public static Comparator<short[]> lexicographicalComparator()
Returns a comparator that compares twoshortarrays lexicographically. That is, it compares, usingcompare(short, short)), the first pair of values that follow any common prefix, or when one array is a prefix of the other, treats the shorter array as the lesser. For example,[] < [(short) 1] < [(short) 1, (short) 2] < [(short) 2].The returned comparator is inconsistent with
Object.equals(Object)(since arrays support only identity equality), but it is consistent withArrays.equals(short[], short[]).- Since:
 - 2.0
 
 
- 
sortDescending
public static void sortDescending(short[] array)
Sorts the elements ofarrayin descending order.- Since:
 - 23.1
 
 
- 
sortDescending
public static void sortDescending(short[] array, int fromIndex, int toIndex)
Sorts the elements ofarraybetweenfromIndexinclusive andtoIndexexclusive in descending order.- Since:
 - 23.1
 
 
- 
reverse
public static void reverse(short[] array)
Reverses the elements ofarray. This is equivalent toCollections.reverse(Shorts.asList(array)), but is likely to be more efficient.- Since:
 - 23.1
 
 
- 
reverse
public static void reverse(short[] array, int fromIndex, int toIndex)
Reverses the elements ofarraybetweenfromIndexinclusive andtoIndexexclusive. This is equivalent toCollections.reverse(Shorts.asList(array).subList(fromIndex, toIndex)), but is likely to be more efficient.- Throws:
 IndexOutOfBoundsException- iffromIndex < 0,toIndex > array.length, ortoIndex > fromIndex- Since:
 - 23.1
 
 
- 
rotate
public static void rotate(short[] array, int distance)
Performs a right rotation ofarrayof "distance" places, so that the first element is moved to index "distance", and the element at indexiends up at index(distance + i) mod array.length. This is equivalent toCollections.rotate(Shorts.asList(array), distance), but is considerably faster and avoids allocation and garbage collection.The provided "distance" may be negative, which will rotate left.
- Since:
 - 32.0.0
 
 
- 
rotate
public static void rotate(short[] array, int distance, int fromIndex, int toIndex)
Performs a right rotation ofarraybetweenfromIndexinclusive andtoIndexexclusive. This is equivalent toCollections.rotate(Shorts.asList(array).subList(fromIndex, toIndex), distance), but is considerably faster and avoids allocations and garbage collection.The provided "distance" may be negative, which will rotate left.
- Throws:
 IndexOutOfBoundsException- iffromIndex < 0,toIndex > array.length, ortoIndex > fromIndex- Since:
 - 32.0.0
 
 
- 
toArray
public static short[] toArray(Collection<? extends Number> collection)
Returns an array containing each value ofcollection, converted to ashortvalue in the manner ofNumber.shortValue().Elements are copied from the argument collection as if by
collection.toArray(). Calling this method is as thread-safe as calling that method.- Parameters:
 collection- a collection ofNumberinstances- Returns:
 - an array containing the same values as 
collection, in the same order, converted to primitives - Throws:
 NullPointerException- ifcollectionor any of its elements is null- Since:
 - 1.0 (parameter was 
Collection<Short>before 12.0) 
 
- 
asList
public static List<Short> asList(short... backingArray)
Returns a fixed-size list backed by the specified array, similar toArrays.asList(Object[]). The list supportsList.set(int, Object), but any attempt to set a value tonullwill result in aNullPointerException.The returned list maintains the values, but not the identities, of
Shortobjects written to or read from it. For example, whetherlist.get(0) == list.get(0)is true for the returned list is unspecified.The returned list is serializable.
- Parameters:
 backingArray- the array to back the list- Returns:
 - a list view of the array
 
 
 - 
 
 -