PCJ API
Version 1.2

bak.pcj.list
Class ByteArrayDeque

java.lang.Object
  extended bybak.pcj.AbstractByteCollection
      extended bybak.pcj.list.AbstractByteList
          extended bybak.pcj.list.ByteArrayDeque
All Implemented Interfaces:
ByteCollection, ByteDeque, ByteList, Cloneable, Serializable

public class ByteArrayDeque
extends AbstractByteList
implements ByteDeque, Cloneable, Serializable

This class represents an array implementaion of deques of byte values.

Since:
1.0
See Also:
LinkedList, Serialized Form

Field Summary
static int DEFAULT_CAPACITY
          The default capacity of this deque.
static int DEFAULT_GROWTH_CHUNK
          The default chunk size with which to increase the capacity of this deque.
static double DEFAULT_GROWTH_FACTOR
          The default factor with which to increase the capacity of this deque.
 
Constructor Summary
ByteArrayDeque()
          Creates a new array deque with capacity 10 and a relative growth factor of 1.0.
ByteArrayDeque(byte[] a)
          Creates a new array deque with the same elements as a specified array.
ByteArrayDeque(ByteCollection c)
          Creates a new array deque with the same elements as a specified collection.
ByteArrayDeque(int capacity)
          Creates a new array deque with a specified capacity and a relative growth factor of 1.0.
ByteArrayDeque(int capacity, double growthFactor)
          Creates a new array deque with a specified capacity and relative growth factor.
ByteArrayDeque(int capacity, int growthChunk)
          Creates a new array deque with a specified capacity and absolute growth factor.
 
Method Summary
 void add(int index, byte v)
          Adds an element to this list at a specified index.
 void addFirst(byte v)
          Adds an element to the beginning of this deque.
 void addLast(byte v)
          Adds an element to the end of this deque.
 int capacity()
          Returns the current capacity of this deque.
 void clear()
          Clears this collection.
 Object clone()
          Returns a clone of this array deque.
 boolean contains(byte v)
          Indicates whether this collection contains a specified element.
 int ensureCapacity(int capacity)
          Ensures that this deque has at least a specified capacity.
 boolean equals(Object obj)
          Indicates whether this collection is equal to some object.
 byte get(int index)
          Returns the element at a specified position in this list.
 byte getFirst()
          Returns the first element of this deque.
 byte getLast()
          Returns the last element of this deque.
 int hashCode()
          Returns a hash code value for this collection.
 int indexOf(byte c)
          Returns the index of the first occurance of a specified element in this list.
 boolean isEmpty()
          Indicates whether this collection is empty.
 int lastIndexOf(byte c)
          Returns the index of the last occurance of a specified element in this list.
 boolean remove(byte v)
          Removes a specified element from this collection.
 byte removeElementAt(int index)
          Removes the element at a specified index in this list.
 byte removeFirst()
          Removes the first element of this deque.
 byte removeLast()
          Removes the last element of this deque.
 byte set(int index, byte v)
          Sets a specified element to a new value.
 int size()
          Returns the number of elements in this collection.
 byte[] toArray(byte[] a)
          Returns the elements of this collection as an array.
 void trimToSize()
          Minimizes the memory used by this array deque.
 
Methods inherited from class bak.pcj.list.AbstractByteList
add, addAll, indexOf, iterator, lastIndexOf, listIterator, listIterator
 
Methods inherited from class bak.pcj.AbstractByteCollection
addAll, containsAll, removeAll, retainAll, toArray, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface bak.pcj.list.ByteList
addAll, indexOf, lastIndexOf, listIterator, listIterator
 
Methods inherited from interface bak.pcj.ByteCollection
add, addAll, containsAll, iterator, removeAll, retainAll, toArray
 

Field Detail

DEFAULT_GROWTH_FACTOR

public static final double DEFAULT_GROWTH_FACTOR
The default factor with which to increase the capacity of this deque.

See Also:
Constant Field Values

DEFAULT_GROWTH_CHUNK

public static final int DEFAULT_GROWTH_CHUNK
The default chunk size with which to increase the capacity of this deque.

See Also:
Constant Field Values

DEFAULT_CAPACITY

public static final int DEFAULT_CAPACITY
The default capacity of this deque.

See Also:
Constant Field Values
Constructor Detail

ByteArrayDeque

public ByteArrayDeque()
Creates a new array deque with capacity 10 and a relative growth factor of 1.0.

See Also:
ByteArrayDeque(int,double)

ByteArrayDeque

public ByteArrayDeque(ByteCollection c)
Creates a new array deque with the same elements as a specified collection. The elements of the specified collection are added to the end of the deque in the collection's iteration order.

Parameters:
c - the collection whose elements to add to the new deque.
Throws:
NullPointerException - if c is null.

ByteArrayDeque

public ByteArrayDeque(byte[] a)
Creates a new array deque with the same elements as a specified array. The elements of the specified array are added the end of the deque in the order in which they appear in the array.

Parameters:
a - the array whose elements to add to the new deque.
Throws:
NullPointerException - if a is null.
Since:
1.1

ByteArrayDeque

public ByteArrayDeque(int capacity)
Creates a new array deque with a specified capacity and a relative growth factor of 1.0.

Parameters:
capacity - the initial capacity of the deque.
Throws:
IllegalArgumentException - if capacity is negative.
See Also:
ByteArrayDeque(int,double)

ByteArrayDeque

public ByteArrayDeque(int capacity,
                      double growthFactor)
Creates a new array deque with a specified capacity and relative growth factor.

The array capacity increases to capacity()*(1+growthFactor). This strategy is good for avoiding many capacity increases, but the amount of wasted memory is approximately the size of the deque.

Parameters:
capacity - the initial capacity of the deque.
growthFactor - the relative amount with which to increase the the capacity when a capacity increase is needed.
Throws:
IllegalArgumentException - if capacity is negative; if growthFactor is negative.

ByteArrayDeque

public ByteArrayDeque(int capacity,
                      int growthChunk)
Creates a new array deque with a specified capacity and absolute growth factor.

The array capacity increases to capacity()+growthChunk. This strategy is good for avoiding wasting memory. However, an overhead is potentially introduced by frequent capacity increases.

Parameters:
capacity - the initial capacity of the deque.
growthChunk - the absolute amount with which to increase the the capacity when a capacity increase is needed.
Throws:
IllegalArgumentException - if capacity is negative; if growthChunk is negative.
Method Detail

ensureCapacity

public int ensureCapacity(int capacity)
Ensures that this deque has at least a specified capacity. The actual capacity is calculated from the growth factor or growth chunk specified to the constructor.

Parameters:
capacity - the minimum capacity of this deque.
Returns:
the new capacity of this deque.
See Also:
capacity()

capacity

public int capacity()
Returns the current capacity of this deque. The capacity is the number of elements that the deque can contain without having to increase the amount of memory used.

Returns:
the current capacity of this deque.
See Also:
ensureCapacity(int)

add

public void add(int index,
                byte v)
Description copied from interface: ByteList
Adds an element to this list at a specified index. All elements from the specified index and forward are pushed to their successor's indices.

Specified by:
add in interface ByteList
Overrides:
add in class AbstractByteList

get

public byte get(int index)
Description copied from interface: ByteList
Returns the element at a specified position in this list.

Specified by:
get in interface ByteList
Parameters:
index - the position of the element to return.
Returns:
the element at the specified position.

set

public byte set(int index,
                byte v)
Description copied from interface: ByteList
Sets a specified element to a new value.

Specified by:
set in interface ByteList
Parameters:
index - the index of the element whose value to set.
v - the new value of the specified element.
Returns:
the previous value of the element.

removeElementAt

public byte removeElementAt(int index)
Description copied from interface: ByteList
Removes the element at a specified index in this list. All elements following the removed element are pushed to their predecessor's indices.

Specified by:
removeElementAt in interface ByteList
Overrides:
removeElementAt in class AbstractByteList

trimToSize

public void trimToSize()
Minimizes the memory used by this array deque. The underlying array is replaced by an array whose size is exactly the number of elements in this array deque. The method can be used to free up memory after many removals.

Specified by:
trimToSize in interface ByteCollection
Overrides:
trimToSize in class AbstractByteCollection

clone

public Object clone()
Returns a clone of this array deque.

Returns:
a clone of this array deque.
Since:
1.1

getFirst

public byte getFirst()
Description copied from interface: ByteDeque
Returns the first element of this deque.

Specified by:
getFirst in interface ByteDeque
Returns:
the first element of this deque.

getLast

public byte getLast()
Description copied from interface: ByteDeque
Returns the last element of this deque.

Specified by:
getLast in interface ByteDeque
Returns:
the first element of this deque.

addFirst

public void addFirst(byte v)
Description copied from interface: ByteDeque
Adds an element to the beginning of this deque.

Specified by:
addFirst in interface ByteDeque
Parameters:
v - the element to add to this deque.

addLast

public void addLast(byte v)
Description copied from interface: ByteDeque
Adds an element to the end of this deque.

Specified by:
addLast in interface ByteDeque
Parameters:
v - the element to add to this deque.

removeFirst

public byte removeFirst()
Description copied from interface: ByteDeque
Removes the first element of this deque.

Specified by:
removeFirst in interface ByteDeque
Returns:
the element that was removed.

removeLast

public byte removeLast()
Description copied from interface: ByteDeque
Removes the last element of this deque.

Specified by:
removeLast in interface ByteDeque
Returns:
the element that was removed.

size

public int size()
Description copied from interface: ByteCollection
Returns the number of elements in this collection.

Specified by:
size in interface ByteCollection
Overrides:
size in class AbstractByteCollection

isEmpty

public boolean isEmpty()
Description copied from interface: ByteCollection
Indicates whether this collection is empty.

Specified by:
isEmpty in interface ByteCollection
Overrides:
isEmpty in class AbstractByteCollection

clear

public void clear()
Description copied from interface: ByteCollection
Clears this collection.

Specified by:
clear in interface ByteCollection
Overrides:
clear in class AbstractByteCollection

contains

public boolean contains(byte v)
Description copied from interface: ByteCollection
Indicates whether this collection contains a specified element.

Specified by:
contains in interface ByteCollection
Overrides:
contains in class AbstractByteCollection

indexOf

public int indexOf(byte c)
Description copied from interface: ByteList
Returns the index of the first occurance of a specified element in this list.

Specified by:
indexOf in interface ByteList
Overrides:
indexOf in class AbstractByteList

lastIndexOf

public int lastIndexOf(byte c)
Description copied from interface: ByteList
Returns the index of the last occurance of a specified element in this list.

Specified by:
lastIndexOf in interface ByteList
Overrides:
lastIndexOf in class AbstractByteList

remove

public boolean remove(byte v)
Description copied from interface: ByteCollection
Removes a specified element from this collection.

Specified by:
remove in interface ByteCollection
Overrides:
remove in class AbstractByteCollection

toArray

public byte[] toArray(byte[] a)
Description copied from interface: ByteCollection
Returns the elements of this collection as an array.

Specified by:
toArray in interface ByteCollection
Overrides:
toArray in class AbstractByteCollection

equals

public boolean equals(Object obj)
Description copied from interface: ByteCollection
Indicates whether this collection is equal to some object.

Specified by:
equals in interface ByteCollection
Overrides:
equals in class AbstractByteList

hashCode

public int hashCode()
Description copied from interface: ByteCollection
Returns a hash code value for this collection.

Specified by:
hashCode in interface ByteCollection
Overrides:
hashCode in class AbstractByteList

PCJ API
Version 1.2

Report a bug or request a feature.
Further information on the development and latest release of PCJ can be found at the project homepage.

Primitive Collections for Java is released under the GNU Lesser General Public License.
Copyright © 2002, 2003 Søren Bak. All Rights Reserved.

Hosted by SourceForge.net
SourceForge.net Logo