# Class PrimitiveList

java.lang.Object
uk.ac.starlink.util.PrimitiveList

Direct Known Subclasses:
  `ByteList, DoubleList, FloatList, IntList, LongList, ShortList`

public abstract class PrimitiveList extends Object
Provides an extendable list of primitive values. This provides an abstract superclass for concrete implementations which do roughly the same job for numeric primitive types that `StringBuffer` does for `char`s and `List` does for `Object`s.

Since:
  12 Oct 2006
Author:
  Mark Taylor

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`PrimitiveList(Object array, int size)`
Constructs a list from an initial array object, whose component type determines the primitive type which this list will work with, and a size, which indicates number of elements of the array which are initially considered to constitute the contents of this list.

## Method Summary

Modifier and Type
Method
Description
`void`
`clear()`
Removes all of the elements from this list (optional operation).
`protected int`
`nextCapacity(int currentCapacity)`
Determines by how much the storage array will grow if it needs to expand.
`int`
`size()`
Returns the current size of this list.
`Object`
`toArray()`
Creates and returns a copy of the contents of this list, in the form of a primitive array of the right length to hold all the elements it currently contains.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### PrimitiveList

protected PrimitiveList(Object array, int size)
Constructs a list from an initial array object, whose component type determines the primitive type which this list will work with, and a size, which indicates number of elements of the array which are initially considered to constitute the contents of this list.

Parameters:
  `array` - array object
  `size` - initial list size (note, not capacity)

## Method Details

### size

public int size()
Returns the current size of this list.

Returns:
  number of elements which have been stored

### clear

public void clear()
Removes all of the elements from this list (optional operation). The list will be empty after this call returns.

### toArray

public Object toArray()
Creates and returns a copy of the contents of this list, in the form of a primitive array of the right length to hold all the elements it currently contains.

Returns:
  array containing contents of this list

### nextCapacity

protected int nextCapacity(int currentCapacity)
Determines by how much the storage array will grow if it needs to expand. Any return value is legal; if a value less than the `currentCapacity` is returned, Integer.MAX_VALUE will be used. The effect of this is that implementations probably do not need to worry about integer arithmetic overflow. May be overridden by subclasses.

Parameters:
  `currentCapacity` - initial size of buffer
Returns:
  next size up