org.joe_e.array
Class DoubleArray

java.lang.Object
  extended by org.joe_e.array.ConstArray<E>
      extended by org.joe_e.array.ImmutableArray<E>
          extended by org.joe_e.array.PowerlessArray<Double>
              extended by org.joe_e.array.DoubleArray
All Implemented Interfaces:
Serializable, Iterable<Double>, Immutable, Powerless, Selfless

public final class DoubleArray
extends PowerlessArray<Double>

An immutable array of double.

See Also:
Serialized Form

Nested Class Summary
static class DoubleArray.Builder
          A DoubleArray factory.
 
Method Summary
static DoubleArray array()
          Construct an empty DoubleArray
static DoubleArray array(double... doubles)
          Constructs an array of doubles.
static DoubleArray array(double value)
          Construct a DoubleArray with one element.
static DoubleArray array(double value1, double value2)
          Construct a DoubleArray with two elements.
static DoubleArray array(double value1, double value2, double value3)
          Construct a DoubleArray with three elements.
static DoubleArray array(double value1, double value2, double value3, double value4)
          Construct a DoubleArray with four elements.
static DoubleArray.Builder builder()
          Get a DoubleArray.Builder.
static DoubleArray.Builder builder(int estimate)
          Get a DoubleArray.Builder.
 boolean equals(Object other)
          Test for equality with another object
 Double get(int i)
          Creates a Double for a specified double.
 double getDouble(int i)
          Gets the double at a specified position.
 int hashCode()
          Computes a digest of the array for hashing.
 int length()
          Gets the length of the array.
<T> T[]
toArray(T[] prototype)
          Return a mutable copy of the array
 double[] toDoubleArray()
          Creates a mutable copy of the double array
 String toString()
          Return a string representation of the array
 DoubleArray with(double newDouble)
          Creates a DoubleArray with an appended double.
 DoubleArray with(Double newDouble)
          Creates a DoubleArray with an appended Double.
 DoubleArray without(int i)
          Return a new DoubleArray that contains the same elements as this one excluding the element at a specified index
 
Methods inherited from class org.joe_e.array.PowerlessArray
array
 
Methods inherited from class org.joe_e.array.ConstArray
iterator
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

array

public static DoubleArray array(double... doubles)
Constructs an array of doubles.

Parameters:
doubles - each element

array

public static DoubleArray array()
Construct an empty DoubleArray


array

public static DoubleArray array(double value)
Construct a DoubleArray with one element.

Parameters:
value - the value

array

public static DoubleArray array(double value1,
                                double value2)
Construct a DoubleArray with two elements.

Parameters:
value1 - the first value
value2 - the second value

array

public static DoubleArray array(double value1,
                                double value2,
                                double value3)
Construct a DoubleArray with three elements.

Parameters:
value1 - the first value
value2 - the second value
value3 - the third value

array

public static DoubleArray array(double value1,
                                double value2,
                                double value3,
                                double value4)
Construct a DoubleArray with four elements.

Parameters:
value1 - the first value
value2 - the second value
value3 - the third value
value4 - the fourth value

equals

public boolean equals(Object other)
Test for equality with another object

Overrides:
equals in class ConstArray<Double>
Parameters:
other - the reference object with which to compare.
Returns:
true if the other object is a ConstArray with the same contents as this array
See Also:
Object.hashCode(), HashMap

hashCode

public int hashCode()
Computes a digest of the array for hashing. The hash code is the same as Arrays.hashCode(Object[]) called on a Java array containing the same elements.

Specified by:
hashCode in interface Selfless
Overrides:
hashCode in class ConstArray<Double>
Returns:
a hash code based on the contents of this array
See Also:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

public String toString()
Return a string representation of the array

Overrides:
toString in class ConstArray<Double>
Returns:
a string representation of this array

length

public int length()
Gets the length of the array.

Overrides:
length in class ConstArray<Double>

get

public Double get(int i)
Creates a Double for a specified double.

Overrides:
get in class ConstArray<Double>
Parameters:
i - position of the element to return
Throws:
ArrayIndexOutOfBoundsException - i is out of bounds

toArray

public <T> T[] toArray(T[] prototype)
Return a mutable copy of the array

Overrides:
toArray in class ConstArray<Double>
Parameters:
prototype - prototype of the array to copy into
Returns:
an array containing the contents of this ConstArray of the same type as prototype
Throws:
ArrayStoreException - if an element cannot be stored in the array

with

public DoubleArray with(Double newDouble)
Creates a DoubleArray with an appended Double.

Overrides:
with in class PowerlessArray<Double>
Parameters:
newDouble - the element to append
Returns:
the new array
Throws:
NullPointerException - newDouble is null

getDouble

public double getDouble(int i)
Gets the double at a specified position.

Parameters:
i - position of the element to return
Throws:
ArrayIndexOutOfBoundsException - i is out of bounds

toDoubleArray

public double[] toDoubleArray()
Creates a mutable copy of the double array


with

public DoubleArray with(double newDouble)
Creates a DoubleArray with an appended double.

Parameters:
newDouble - the element to append

without

public DoubleArray without(int i)
Return a new DoubleArray that contains the same elements as this one excluding the element at a specified index

Overrides:
without in class PowerlessArray<Double>
Parameters:
i - the index of the element to exclude
Returns:
the new array

builder

public static DoubleArray.Builder builder()
Get a DoubleArray.Builder. This is equivalent to the constructor.

Returns:
a new builder instance, with the default internal array length

builder

public static DoubleArray.Builder builder(int estimate)
Get a DoubleArray.Builder. This is equivalent to the constructor.

Parameters:
estimate - estimated array length
Returns:
a new builder instance