uk.ac.starlink.util.DoubleList Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of stil Show documentation
Show all versions of stil Show documentation
Starlink Tables Infrastructure Library
package uk.ac.starlink.util;
/**
* Extendable array of doubles.
*
* @author Mark Taylor
* @since 12 Oct 2006
*/
public class DoubleList extends PrimitiveList {
/**
* Constructs a new list.
*/
public DoubleList() {
this( DEFAULT_SIZE );
}
/**
* Constructs a new list with a given initial capacity.
*
* @param size initial capacity
*/
public DoubleList( int size ) {
super( new double[ size ], 0 );
}
/**
* Constructs a new list initialised to the contents of a given array.
*
* @param array array whose contents form initial contents of list
*/
public DoubleList( double[] array ) {
super( array.clone(), array.length );
}
/**
* Returns the element at a given position.
*
* @param i index
* @return element at i
*/
public double get( int i ) {
checkIndex( i );
return ((double[]) array_)[ i ];
}
/**
* Sets the element at a given position.
*
* @param i index
* @param value new value for element i
*/
public void set( int i, double value ) {
checkIndex( i );
((double[]) array_)[ i ] = value;
}
/**
* Appends a value to the end of this list.
*
* @param value value to append
*/
public void add( double value ) {
expandSize( 1 );
set( size() - 1, value );
}
/**
* Appends all the elements of a second list to this list.
*
* @param other other list
* @return true iff this collection changed as a result of the call
*/
public boolean addAll( DoubleList other ) {
return super.addAll( other );
}
/**
* Appends all the elements of a primitive array to this list.
*
* @param array array to append
* @return true iff this collection changed as a result of the call
*/
public boolean addAll( double[] array ) {
return super.addArrayElements( array, array.length );
}
/**
* Returns the contents of this list as an array.
*
* @return copy of list contents
*/
public double[] toDoubleArray() {
return (double[]) toArray();
}
/**
* Returns the array currently used to store the contents of this list.
* Its length will be greater than or equal to the length of this list.
* The identity of the returned array may change as this list is mutated.
*
* @return storage array
*/
public double[] getDoubleBuffer() {
return (double[]) array_;
}
}