Class Booleans
boolean primitives, that are not already found in
either Boolean or Arrays.
See the Guava User Guide article on primitive utilities.
- Since:
- 1.0
- Author:
- Kevin Bourrillion
-
Method Summary
Modifier and TypeMethodDescriptionasList(boolean... backingArray) Returns a fixed-size list backed by the specified array, similar toArrays.asList(Object[]).static intcompare(boolean a, boolean b) Compares the two specifiedbooleanvalues in the standard way (falseis considered less thantrue).static boolean[]concat(boolean[]... arrays) Returns the values from each provided array combined into a single array.static booleancontains(boolean[] array, boolean target) Returnstrueiftargetis present as an element anywhere inarray.static intcountTrue(boolean... values) Returns the number ofvaluesthat aretrue.static boolean[]ensureCapacity(boolean[] array, int minLength, int padding) Returns an array containing the same values asarray, but guaranteed to be of a specified minimum length.static Comparator<Boolean>Returns aComparator<Boolean>that sortsfalsebeforetrue.static inthashCode(boolean value) Returns a hash code forvalue; equal to the result of invoking((Boolean) value).hashCode().static intindexOf(boolean[] array, boolean target) Returns the index of the first appearance of the valuetargetinarray.static intindexOf(boolean[] array, boolean[] target) Returns the start position of the first occurrence of the specifiedtargetwithinarray, or-1if there is no such occurrence.static StringReturns a string containing the suppliedbooleanvalues separated byseparator.static intlastIndexOf(boolean[] array, boolean target) Returns the index of the last appearance of the valuetargetinarray.static Comparator<boolean[]>Returns a comparator that compares twobooleanarrays lexicographically.static voidreverse(boolean[] array) Reverses the elements ofarray.static voidreverse(boolean[] array, int fromIndex, int toIndex) Reverses the elements ofarraybetweenfromIndexinclusive andtoIndexexclusive.static boolean[]toArray(Collection<Boolean> collection) Copies a collection ofBooleaninstances into a new array of primitivebooleanvalues.static Comparator<Boolean>Returns aComparator<Boolean>that sortstruebeforefalse.
-
Method Details
-
trueFirst
Returns aComparator<Boolean>that sortstruebeforefalse.This is particularly useful in Java 8+ in combination with
Comparators.comparing, e.g.Comparators.comparing(Foo::hasBar, trueFirst()).- Since:
- 21.0
-
falseFirst
Returns aComparator<Boolean>that sortsfalsebeforetrue.This is particularly useful in Java 8+ in combination with
Comparators.comparing, e.g.Comparators.comparing(Foo::hasBar, falseFirst()).- Since:
- 21.0
-
hashCode
Returns a hash code forvalue; equal to the result of invoking((Boolean) value).hashCode().Java 8 users: use
Boolean.hashCode(boolean)instead.- Parameters:
value- a primitivebooleanvalue- Returns:
- a hash code for the value
-
compare
Compares the two specifiedbooleanvalues in the standard way (falseis considered less thantrue). The sign of the value returned is the same as that of((Boolean) a).compareTo(b).Note for Java 7 and later: this method should be treated as deprecated; use the equivalent
Boolean.compare(boolean, boolean)method instead.- Parameters:
a- the firstbooleanto compareb- the secondbooleanto compare- Returns:
- a positive number if only
aistrue, a negative number if onlybis true, or zero ifa == b
-
contains
Returnstrueiftargetis present as an element anywhere inarray.Note: consider representing the array as a
BitSetinstead, replacingBooleans.contains(array, true)with!bitSet.isEmpty()andBooleans.contains(array, false)withbitSet.nextClearBit(0) == sizeOfBitSet.- Parameters:
array- an array ofbooleanvalues, possibly emptytarget- a primitivebooleanvalue- Returns:
trueifarray[i] == targetfor some value ofi
-
indexOf
Returns the index of the first appearance of the valuetargetinarray.Note: consider representing the array as a
BitSetinstead, and usingBitSet.nextSetBit(int)orBitSet.nextClearBit(int).- Parameters:
array- an array ofbooleanvalues, possibly emptytarget- a primitivebooleanvalue- Returns:
- the least index
ifor whicharray[i] == target, or-1if no such index exists.
-
indexOf
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
Returns the index of the last appearance of the valuetargetinarray.- Parameters:
array- an array ofbooleanvalues, possibly emptytarget- a primitivebooleanvalue- Returns:
- the greatest index
ifor whicharray[i] == target, or-1if no such index exists.
-
concat
Returns the values from each provided array combined into a single array. For example,concat(new boolean[] {a, b}, new boolean[] {}, new boolean[] {c}returns the array{a, b, c}.- Parameters:
arrays- zero or morebooleanarrays- Returns:
- a single array containing all the values from the source arrays, in order
-
ensureCapacity
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
Returns a string containing the suppliedbooleanvalues separated byseparator. For example,join("-", false, true, false)returns the string"false-true-false".- Parameters:
separator- the text that should appear between consecutive values in the resulting string (but not at the start or end)array- an array ofbooleanvalues, possibly empty
-
lexicographicalComparator
Returns a comparator that compares twobooleanarrays lexicographically. That is, it compares, usingcompare(boolean, boolean)), 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,[] < [false] < [false, true] < [true].The returned comparator is inconsistent with
Object.equals(Object)(since arrays support only identity equality), but it is consistent withArrays.equals(boolean[], boolean[]).- Since:
- 2.0
-
toArray
Copies a collection ofBooleaninstances into a new array of primitivebooleanvalues.Elements are copied from the argument collection as if by
collection.toArray(). Calling this method is as thread-safe as calling that method.Note: consider representing the collection as a
BitSetinstead.- Parameters:
collection- a collection ofBooleanobjects- 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
-
asList
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
Booleanobjects written to or read from it. For example, whetherlist.get(0) == list.get(0)is true for the returned list is unspecified.- Parameters:
backingArray- the array to back the list- Returns:
- a list view of the array
-
countTrue
Returns the number ofvaluesthat aretrue.- Since:
- 16.0
-
reverse
Reverses the elements ofarray. This is equivalent toCollections.reverse(Booleans.asList(array)), but is likely to be more efficient.- Since:
- 23.1
-
reverse
Reverses the elements ofarraybetweenfromIndexinclusive andtoIndexexclusive. This is equivalent toCollections.reverse(Booleans.asList(array).subList(fromIndex, toIndex)), but is likely to be more efficient.- Throws:
IndexOutOfBoundsException- iffromIndex < 0,toIndex > array.length, ortoIndex > fromIndex- Since:
- 23.1
-