org.apache.commons.collections.primitives

Class ArrayUnsignedShortList

public class ArrayUnsignedShortList extends RandomAccessIntList implements IntList, Serializable

An IntList backed by an array of unsigned short values. This list stores int values in the range [0, 65535] in 16-bits per element. Attempts to use elements outside this range may cause an IllegalArgumentException IllegalArgumentException to be thrown.

This implementation supports all optional methods.

Since: Commons Primitives 1.0

Version: $Revision: 1.3 $ $Date: 2003/10/16 20:49:36 $

Author: Rodney Waldhoff

Field Summary
static intMAX_VALUE
The maximum possible unsigned 16-bit value (0xFFFF).
static intMIN_VALUE
The minimum possible unsigned 16-bit value (0x0000).
short[]_data
int_size
Constructor Summary
ArrayUnsignedShortList()
Construct an empty list with the default initial capacity.
ArrayUnsignedShortList(int initialCapacity)
Construct an empty list with the given initial capacity.
ArrayUnsignedShortList(IntCollection that)
Constructs a list containing the elements of the given collection, in the order they are returned by that collection's iterator.
Method Summary
voidadd(int index, int element)
Inserts the specified element at the specified position (optional operation).
voidassertValidUnsignedShort(int value)
voidcheckRange(int index)
voidcheckRangeIncludingEndpoint(int index)
voidensureCapacity(int mincap)
Increases my capacity, if necessary, to ensure that I can hold at least the number of elements specified by the minimum capacity argument without growing.
shortfromInt(int value)
intget(int index)
Returns the element at the specified position within me.
voidreadObject(ObjectInputStream in)
intremoveElementAt(int index)
Removes the element at the specified position in (optional operation).
intset(int index, int element)
Replaces the element at the specified position in me with the specified element (optional operation).
intsize()
inttoInt(short value)
voidtrimToSize()
Reduce my capacity, if necessary, to match my current size.
voidwriteObject(ObjectOutputStream out)

Field Detail

MAX_VALUE

public static final int MAX_VALUE
The maximum possible unsigned 16-bit value (0xFFFF).

MIN_VALUE

public static final int MIN_VALUE
The minimum possible unsigned 16-bit value (0x0000).

_data

private transient short[] _data

_size

private int _size

Constructor Detail

ArrayUnsignedShortList

public ArrayUnsignedShortList()
Construct an empty list with the default initial capacity.

ArrayUnsignedShortList

public ArrayUnsignedShortList(int initialCapacity)
Construct an empty list with the given initial capacity.

Throws: IllegalArgumentException when initialCapacity is negative

ArrayUnsignedShortList

public ArrayUnsignedShortList(IntCollection that)
Constructs a list containing the elements of the given collection, in the order they are returned by that collection's iterator.

Parameters: that the non-null collection of ints to add

Throws: NullPointerException if that is null

See Also: ArrayIntList

Method Detail

add

public void add(int index, int element)
Inserts the specified element at the specified position (optional operation). Shifts the element currently at that position (if any) and any subsequent elements to the right, increasing their indices. Throws IllegalArgumentException if element is less than MIN_VALUE or greater than MAX_VALUE.

Parameters: index the index at which to insert the element element the value to insert

Throws: UnsupportedOperationException when this operation is not supported IllegalArgumentException if some aspect of the specified element prevents it from being added to me IndexOutOfBoundsException if the specified index is out of range

assertValidUnsignedShort

private final void assertValidUnsignedShort(int value)

checkRange

private final void checkRange(int index)

checkRangeIncludingEndpoint

private final void checkRangeIncludingEndpoint(int index)

ensureCapacity

public void ensureCapacity(int mincap)
Increases my capacity, if necessary, to ensure that I can hold at least the number of elements specified by the minimum capacity argument without growing.

fromInt

private final short fromInt(int value)

get

public int get(int index)
Returns the element at the specified position within me. By construction, the returned value will be between MIN_VALUE and MAX_VALUE, inclusive.

Parameters: index the index of the element to return

Returns: the value of the element at the specified position

Throws: IndexOutOfBoundsException if the specified index is out of range

readObject

private void readObject(ObjectInputStream in)

removeElementAt

public int removeElementAt(int index)
Removes the element at the specified position in (optional operation). Any subsequent elements are shifted to the left, subtracting one from their indices. Returns the element that was removed. By construction, the returned value will be between MIN_VALUE and MAX_VALUE, inclusive.

Parameters: index the index of the element to remove

Returns: the value of the element that was removed

Throws: UnsupportedOperationException when this operation is not supported IndexOutOfBoundsException if the specified index is out of range

set

public int set(int index, int element)
Replaces the element at the specified position in me with the specified element (optional operation). Throws IllegalArgumentException if element is less than MIN_VALUE or greater than MAX_VALUE.

Parameters: index the index of the element to change element the value to be stored at the specified position

Returns: the value previously stored at the specified position

Throws: UnsupportedOperationException when this operation is not supported IndexOutOfBoundsException if the specified index is out of range

size

public int size()

toInt

private final int toInt(short value)

trimToSize

public void trimToSize()
Reduce my capacity, if necessary, to match my current size.

writeObject

private void writeObject(ObjectOutputStream out)
Copyright (c) 2002-2003 - Apache Software Foundation