org.joe_e.array
Class CharArray

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<Character>
              extended by org.joe_e.array.CharArray
All Implemented Interfaces:
Serializable, Iterable<Character>, Immutable, Powerless, Selfless

public final class CharArray
extends PowerlessArray<Character>

An immutable array of char.

See Also:
Serialized Form

Nested Class Summary
static class CharArray.Builder
          A CharArray factory.
 
Method Summary
static CharArray array()
          Construct an empty CharArray
static CharArray array(char... chars)
          Constructs an array of chars.
static CharArray array(char value)
          Construct a CharArray with one element.
static CharArray array(char value1, char value2)
          Construct a CharArray with two elements.
static CharArray array(char value1, char value2, char value3)
          Construct a CharArray with three elements.
static CharArray array(char value1, char value2, char value3, char value4)
          Construct a CharArray with four elements.
static CharArray.Builder builder()
          Get a CharArray.Builder.
static CharArray.Builder builder(int estimate)
          Get a CharArray.Builder.
 boolean equals(Object other)
          Test for equality with another object
 Character get(int i)
          Creates a Character for a specified char.
 char getChar(int i)
          Gets the char 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
 char[] toCharArray()
          Creates a mutable copy of the char array
 String toString()
          Return a string representation of the array
 CharArray with(char newChar)
          Creates a CharArray with an appended char.
 CharArray with(Character newChar)
          Creates a CharArray with an appended Character.
 CharArray without(int i)
          Return a new CharArray 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 CharArray array(char... chars)
Constructs an array of chars.

Parameters:
chars - each element

array

public static CharArray array()
Construct an empty CharArray


array

public static CharArray array(char value)
Construct a CharArray with one element.

Parameters:
value - the value

array

public static CharArray array(char value1,
                              char value2)
Construct a CharArray with two elements.

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

array

public static CharArray array(char value1,
                              char value2,
                              char value3)
Construct a CharArray with three elements.

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

array

public static CharArray array(char value1,
                              char value2,
                              char value3,
                              char value4)
Construct a CharArray 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<Character>
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<Character>
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<Character>
Returns:
a string representation of this array

length

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

Overrides:
length in class ConstArray<Character>

get

public Character get(int i)
Creates a Character for a specified char.

Overrides:
get in class ConstArray<Character>
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<Character>
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 CharArray with(Character newChar)
Creates a CharArray with an appended Character.

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

getChar

public char getChar(int i)
Gets the char at a specified position.

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

toCharArray

public char[] toCharArray()
Creates a mutable copy of the char array


with

public CharArray with(char newChar)
Creates a CharArray with an appended char.

Parameters:
newChar - the element to append

without

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

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

builder

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

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

builder

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

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