JsonArray
Date: 2016-11-03

com.google.gson

## Class JsonArray

- java.lang.Object
- - com.google.gson.JsonElement
  - - com.google.gson.JsonArray

- All Implemented Interfaces:
    java.lang.Iterable<JsonElement>

      public final class JsonArray
      extends JsonElement
      implements java.lang.Iterable<JsonElement>

  A class representing an array type in Json. An array is a list of `JsonElement`s each of which can be of a different type. This is an ordered list, meaning that the order in which elements are added is preserved.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JsonArray()` Creates an empty JsonArray.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(java.lang.Boolean bool)` Adds the specified boolean to self.
    `void` | `add(java.lang.Character character)` Adds the specified character to self.
    `void` | `add(JsonElement element)` Adds the specified element to self.
    `void` | `add(java.lang.Number number)` Adds the specified number to self.
    `void` | `add(java.lang.String string)` Adds the specified string to self.
    `void` | `addAll(JsonArray array)` Adds all the elements of the specified array to self.
    `boolean` | `contains(JsonElement element)` Returns true if this array contains the specified element.
    `boolean` | `equals(java.lang.Object o)`
    `JsonElement` | `get(int i)` Returns the ith element of the array.
    `java.math.BigDecimal` | `getAsBigDecimal()` convenience method to get this array as a `BigDecimal` if it contains a single element.
    `java.math.BigInteger` | `getAsBigInteger()` convenience method to get this array as a `BigInteger` if it contains a single element.
    `boolean` | `getAsBoolean()` convenience method to get this array as a boolean if it contains a single element.
    `byte` | `getAsByte()` convenience method to get this element as a primitive byte value.
    `char` | `getAsCharacter()` convenience method to get this element as a primitive character value.
    `double` | `getAsDouble()` convenience method to get this array as a double if it contains a single element.
    `float` | `getAsFloat()` convenience method to get this array as a float if it contains a single element.
    `int` | `getAsInt()` convenience method to get this array as an integer if it contains a single element.
    `long` | `getAsLong()` convenience method to get this array as a long if it contains a single element.
    `java.lang.Number` | `getAsNumber()` convenience method to get this array as a `Number` if it contains a single element.
    `short` | `getAsShort()` convenience method to get this array as a primitive short if it contains a single element.
    `java.lang.String` | `getAsString()` convenience method to get this array as a `String` if it contains a single element.
    `int` | `hashCode()`
    `java.util.Iterator<JsonElement>` | `iterator()` Returns an iterator to navigate the elements of the array.
    `JsonElement` | `remove(int index)` Removes the element at the specified position in this array.
    `boolean` | `remove(JsonElement element)` Removes the first occurrence of the specified element from this array, if it is present.
    `JsonElement` | `set(int index, JsonElement element)` Replaces the element at the specified position in this array with the specified element.
    `int` | `size()` Returns the number of elements in the array.

    - ### Methods inherited from class com.google.gson.JsonElement

      `getAsJsonArray, getAsJsonNull, getAsJsonObject, getAsJsonPrimitive, isJsonArray, isJsonNull, isJsonObject, isJsonPrimitive, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### JsonArray

          public JsonArray()

      Creates an empty JsonArray.

  - ### Method Detail

    - #### add

          public void add(java.lang.Boolean bool)

      Adds the specified boolean to self.
      Parameters:
        `bool` - the boolean that needs to be added to the array.

    - #### add

          public void add(java.lang.Character character)

      Adds the specified character to self.
      Parameters:
        `character` - the character that needs to be added to the array.

    - #### add

          public void add(java.lang.Number number)

      Adds the specified number to self.
      Parameters:
        `number` - the number that needs to be added to the array.

    - #### add

          public void add(java.lang.String string)

      Adds the specified string to self.
      Parameters:
        `string` - the string that needs to be added to the array.

    - #### add

          public void add(JsonElement element)

      Adds the specified element to self.
      Parameters:
        `element` - the element that needs to be added to the array.

    - #### addAll

          public void addAll(JsonArray array)

      Adds all the elements of the specified array to self.
      Parameters:
        `array` - the array whose elements need to be added to the array.

    - #### set

          public JsonElement set(int index,
                        JsonElement element)

      Replaces the element at the specified position in this array with the specified element. Element can be null.
      Parameters:
        `index` - index of the element to replace
        `element` - element to be stored at the specified position
      Returns:
        the element previously at the specified position
      Throws:
        `java.lang.IndexOutOfBoundsException` - if the specified index is outside the array bounds

    - #### remove

          public boolean remove(JsonElement element)

      Removes the first occurrence of the specified element from this array, if it is present. If the array does not contain the element, it is unchanged.
      Parameters:
        `element` - element to be removed from this array, if present
      Returns:
        true if this array contained the specified element, false otherwise
      Since:
        2.3

    - #### remove

          public JsonElement remove(int index)

      Removes the element at the specified position in this array. Shifts any subsequent elements to the left (subtracts one from their indices). Returns the element that was removed from the array.
      Parameters:
        `index` - index the index of the element to be removed
      Returns:
        the element previously at the specified position
      Throws:
        `java.lang.IndexOutOfBoundsException` - if the specified index is outside the array bounds
      Since:
        2.3

    - #### contains

          public boolean contains(JsonElement element)

      Returns true if this array contains the specified element.
      Parameters:
        `element` - whose presence in this array is to be tested
      Returns:
        true if this array contains the specified element.
      Since:
        2.3

    - #### size

          public int size()

      Returns the number of elements in the array.
      Returns:
        the number of elements in the array.

    - #### iterator

          public java.util.Iterator<JsonElement> iterator()

      Returns an iterator to navigate the elements of the array. Since the array is an ordered list, the iterator navigates the elements in the order they were inserted.
      Specified by:
        `iterator` in interface `java.lang.Iterable<JsonElement>`
      Returns:
        an iterator to navigate the elements of the array.

    - #### get

          public JsonElement get(int i)

      Returns the ith element of the array.
      Parameters:
        `i` - the index of the element that is being sought.
      Returns:
        the element present at the ith index.
      Throws:
        `java.lang.IndexOutOfBoundsException` - if i is negative or greater than or equal to the `size()` of the array.

    - #### getAsNumber

          public java.lang.Number getAsNumber()

      convenience method to get this array as a `Number` if it contains a single element.
      Overrides:
        `getAsNumber` in class `JsonElement`
      Returns:
        get this element as a number if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive` and is not a valid Number.
        `java.lang.IllegalStateException` - if the array has more than one element.

    - #### getAsString

          public java.lang.String getAsString()

      convenience method to get this array as a `String` if it contains a single element.
      Overrides:
        `getAsString` in class `JsonElement`
      Returns:
        get this element as a String if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive` and is not a valid String.
        `java.lang.IllegalStateException` - if the array has more than one element.

    - #### getAsDouble

          public double getAsDouble()

      convenience method to get this array as a double if it contains a single element.
      Overrides:
        `getAsDouble` in class `JsonElement`
      Returns:
        get this element as a double if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive` and is not a valid double.
        `java.lang.IllegalStateException` - if the array has more than one element.

    - #### getAsBigDecimal

          public java.math.BigDecimal getAsBigDecimal()

      convenience method to get this array as a `BigDecimal` if it contains a single element.
      Overrides:
        `getAsBigDecimal` in class `JsonElement`
      Returns:
        get this element as a `BigDecimal` if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive`.
        `java.lang.NumberFormatException` - if the element at index 0 is not a valid `BigDecimal`.
        `java.lang.IllegalStateException` - if the array has more than one element.
      Since:
        1.2

    - #### getAsBigInteger

          public java.math.BigInteger getAsBigInteger()

      convenience method to get this array as a `BigInteger` if it contains a single element.
      Overrides:
        `getAsBigInteger` in class `JsonElement`
      Returns:
        get this element as a `BigInteger` if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive`.
        `java.lang.NumberFormatException` - if the element at index 0 is not a valid `BigInteger`.
        `java.lang.IllegalStateException` - if the array has more than one element.
      Since:
        1.2

    - #### getAsFloat

          public float getAsFloat()

      convenience method to get this array as a float if it contains a single element.
      Overrides:
        `getAsFloat` in class `JsonElement`
      Returns:
        get this element as a float if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive` and is not a valid float.
        `java.lang.IllegalStateException` - if the array has more than one element.

    - #### getAsLong

          public long getAsLong()

      convenience method to get this array as a long if it contains a single element.
      Overrides:
        `getAsLong` in class `JsonElement`
      Returns:
        get this element as a long if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive` and is not a valid long.
        `java.lang.IllegalStateException` - if the array has more than one element.

    - #### getAsInt

          public int getAsInt()

      convenience method to get this array as an integer if it contains a single element.
      Overrides:
        `getAsInt` in class `JsonElement`
      Returns:
        get this element as an integer if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive` and is not a valid integer.
        `java.lang.IllegalStateException` - if the array has more than one element.

    - #### getAsByte

          public byte getAsByte()

      Description copied from class: `JsonElement`
      convenience method to get this element as a primitive byte value.
      Overrides:
        `getAsByte` in class `JsonElement`
      Returns:
        get this element as a primitive byte value.

    - #### getAsCharacter

          public char getAsCharacter()

      Description copied from class: `JsonElement`
      convenience method to get this element as a primitive character value.
      Overrides:
        `getAsCharacter` in class `JsonElement`
      Returns:
        get this element as a primitive char value.

    - #### getAsShort

          public short getAsShort()

      convenience method to get this array as a primitive short if it contains a single element.
      Overrides:
        `getAsShort` in class `JsonElement`
      Returns:
        get this element as a primitive short if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive` and is not a valid short.
        `java.lang.IllegalStateException` - if the array has more than one element.

    - #### getAsBoolean

          public boolean getAsBoolean()

      convenience method to get this array as a boolean if it contains a single element.
      Overrides:
        `getAsBoolean` in class `JsonElement`
      Returns:
        get this element as a boolean if it is single element array.
      Throws:
        `java.lang.ClassCastException` - if the element in the array is of not a `JsonPrimitive` and is not a valid boolean.
        `java.lang.IllegalStateException` - if the array has more than one element.

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`