java.lang.Object
de.grogra.xl.util.BooleanList
- All Implemented Interfaces:
BooleanConsumer
,VoidToBooleanGenerator
,Serializable
,Cloneable
public class BooleanList
extends Object
implements Cloneable, Serializable, BooleanConsumer, VoidToBooleanGenerator
A
BooleanList
represents a list of boolean
values.
It provides list- and stack-oriented methods for insertion, addition,
and removal, of values. The methods are not thread-safe.- Author:
- Ole Kniemeyer
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionConstructs a newBooleanList
.BooleanList
(boolean[] elements) Constructs a newBooleanList
whose elements are a copy ofelements
.BooleanList
(int capacity) Constructs a newBooleanList
with a given initial capacity. -
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(boolean o) Addso
as last element to this list.void
add
(int index, boolean o) Insertso
at positionindex
to this list.addAll
(boolean[] v, int begin, int length) Appendslength
components ofv
to this list, starting at indexbegin
.Appends all elements ofv
to this list.void
addIfNotContained
(boolean o) Addso
as last element to this list if is not yet contained as reported bycontains(boolean)
.static void
arraycopy
(boolean[] src, int srcIndex, boolean[] dest, int destIndex, int length) void
clear()
Removes all of the elements from this list.static void
clear
(boolean[] array, int index, int length) clone()
void
consume
(boolean value) Receives a value of typeboolean
.boolean
contains
(boolean o) Returnstrue
iff this list contains the given elemento
.void
ensureCapacity
(int capacity) Ensures a capacity of the internal array of at leastcapacity
.boolean
void
This generator method yields all values tocons
.boolean
get
(int index) Returns the list element atindex
.int
hashCode()
int
indexOf
(boolean o) Returns the index ofo
in this list.final boolean
isEmpty()
Returns if this list is empty, i.e., if its size is zero.int
lastIndexOf
(boolean o) Returns the last index ofo
in this list.boolean
peek
(int index) Returns the list element atindex
as seen from the top, i.e., at absolute positionsize - index
.boolean
pop()
Removes and returns the object at the top of this list.final BooleanList
push
(boolean o) Pusheso
on top of this list, i.e., as last element.final BooleanList
push
(boolean o1, boolean o2) Pusheso1
ando2
on top of this list, i.e., as last elements.final BooleanList
push
(boolean o1, boolean o2, boolean o3) Pusheso1 ... o3
on top of this list, i.e., as last elements.boolean
remove
(boolean o) Removes the elemento
.boolean
removeAt
(int index) Removes the element at positionindex
.boolean
set
(int index, boolean o) Sets the element at positionindex
too
.void
setSize
(int size) Sets the size of this list to the given value.final int
size()
Returns the size of this list.boolean[]
toArray()
Returns an array containing the elements of this list.boolean[]
toArray
(boolean[] array) Returns an array containing the elements of this list.toString()
void
Trims the capacity of this list to be its current size.void
values
(BooleanConsumer cons) This method is an alias forevaluateBoolean(de.grogra.xl.lang.BooleanConsumer)
.
-
Field Details
-
elements
public transient boolean[] elementsThe array holding the elements. Only the components from 0 tosize - 1
are valid. Direct operation on this array has to be designed carefully to avoid inconsistencies. -
size
public int sizeThe size of this list. Direct operation on this field has to be designed carefully to avoid inconsistencies.
-
-
Constructor Details
-
BooleanList
public BooleanList(int capacity) Constructs a newBooleanList
with a given initial capacity.- Parameters:
capacity
- the initial capacity
-
BooleanList
public BooleanList()Constructs a newBooleanList
. -
BooleanList
public BooleanList(boolean[] elements) Constructs a newBooleanList
whose elements are a copy ofelements
.- Parameters:
elements
- the initial elements of the list
-
-
Method Details
-
clone
-
ensureCapacity
public void ensureCapacity(int capacity) Ensures a capacity of the internal array of at leastcapacity
.- Parameters:
capacity
- the desired minimum capacity
-
trimToSize
public void trimToSize()Trims the capacity of this list to be its current size. -
push
Pusheso
on top of this list, i.e., as last element.- Parameters:
o
- the value to push- Returns:
- this list
-
push
Pusheso1
ando2
on top of this list, i.e., as last elements. The effect is the same as the invocationlist.push(o1).push(o2)
.- Parameters:
o1
- the first value to pusho2
- the second value to push- Returns:
- this list
-
push
Pusheso1 ... o3
on top of this list, i.e., as last elements. The effect is the same as the invocationlist.push(o1).push(o2).push(o3)
.- Parameters:
o1
- the first value to pusho2
- the second value to pusho3
- the third value to push- Returns:
- this list
-
add
public boolean add(boolean o) Addso
as last element to this list.- Parameters:
o
- the value to add- Returns:
true
-
add
public void add(int index, boolean o) Insertso
at positionindex
to this list. Ifindex
is not less thansize
, the list is enlarged and filled withfalse
-values before.- Parameters:
index
- the insert positiono
- the value to insert
-
addIfNotContained
public void addIfNotContained(boolean o) Addso
as last element to this list if is not yet contained as reported bycontains(boolean)
.- Parameters:
o
- the value to add
-
addAll
Appends all elements ofv
to this list.- Parameters:
v
- the list of elements to add- Returns:
- this list
-
addAll
Appendslength
components ofv
to this list, starting at indexbegin
.- Parameters:
v
- the array of elements to addbegin
- the array index to begin withlength
- the number of elements to add- Returns:
- this list
-
removeAt
public boolean removeAt(int index) Removes the element at positionindex
.- Parameters:
index
- the position of the element to be removed- Returns:
- the value of the removed element
-
remove
public boolean remove(boolean o) Removes the elemento
. The last occurence ofo
in this list is removed.- Parameters:
o
- the element to be removed- Returns:
true
iffo
was found and removed from the list
-
set
public boolean set(int index, boolean o) Sets the element at positionindex
too
. Ifindex
is not less thansize
, the list is enlarged and filled withfalse
-values before.- Parameters:
index
- the positiono
- the new value- Returns:
- the old value at
index
-
get
public boolean get(int index) Returns the list element atindex
. Ifindex
is not less thansize
,false
is returned.- Parameters:
index
- the position- Returns:
- the value at
index
-
peek
public boolean peek(int index) Returns the list element atindex
as seen from the top, i.e., at absolute positionsize - index
. Thus, the topmost element has index 1.- Parameters:
index
- the position as seen from the top- Returns:
- the value at that position
-
contains
public boolean contains(boolean o) Returnstrue
iff this list contains the given elemento
.- Parameters:
o
- a value- Returns:
true
iffo
is contained
-
indexOf
public int indexOf(boolean o) Returns the index ofo
in this list.- Parameters:
o
- a value- Returns:
- the index of
o
, or -1 ofo
is not contained
-
lastIndexOf
public int lastIndexOf(boolean o) Returns the last index ofo
in this list.- Parameters:
o
- a value- Returns:
- the index of
o
, or -1 ofo
is not contained
-
clear
public void clear()Removes all of the elements from this list. The list will be empty after this call returns. -
arraycopy
public static void arraycopy(boolean[] src, int srcIndex, boolean[] dest, int destIndex, int length) -
clear
public static void clear(boolean[] array, int index, int length) -
pop
public boolean pop()Removes and returns the object at the top of this list.- Returns:
- the removed object from the top of this list
-
setSize
public void setSize(int size) Sets the size of this list to the given value. If the new size is greater than the old size, the new elements are initialized withfalse
-values.- Parameters:
size
- the new size
-
size
public final int size()Returns the size of this list.- Returns:
- the size
-
isEmpty
public final boolean isEmpty()Returns if this list is empty, i.e., if its size is zero.- Returns:
true
iff this list is empty
-
toArray
public boolean[] toArray()Returns an array containing the elements of this list.- Returns:
- an array copy of this list
-
toArray
public boolean[] toArray(boolean[] array) Returns an array containing the elements of this list. The type of the returned array is that of the specifiedarray
. If this list fits in the specifiedarray
, it is returned therein. Otherwise, a new array is allocated whose length is the size of this list's size, the values of this list are copied into the new array, and this array is returned.If there is room for an additional element in the
array
, afalse
-value is written behind the last copied element.- Parameters:
array
- an array to use- Returns:
- an array copy of this list
-
toString
-
equals
-
hashCode
public int hashCode() -
consume
public void consume(boolean value) Description copied from interface:BooleanConsumer
Receives a value of typeboolean
.- Specified by:
consume
in interfaceBooleanConsumer
-
evaluateBoolean
This generator method yields all values tocons
.- Specified by:
evaluateBoolean
in interfaceVoidToBooleanGenerator
- Parameters:
cons
- the consumer which receives the values
-
values
This method is an alias forevaluateBoolean(de.grogra.xl.lang.BooleanConsumer)
.
-