groovy.lang

## Class Sequence

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractList<E>
    - - java.util.ArrayList
      - - groovy.lang.Sequence

- All Implemented Interfaces:
    GroovyObject, java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, java.util.List, java.util.RandomAccess
  Direct Known Subclasses:
    NonEmptySequence

      public class Sequence
      extends java.util.ArrayList
      implements GroovyObject

  Represents a sequence of objects which represents zero or many instances of of objects of a given type. The type can be omitted in which case any type of object can be added.
  Author:
    James Strachan
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class java.util.AbstractList

      `modCount`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Sequence()`
    `Sequence(java.lang.Class type)`
    `Sequence(java.lang.Class type, java.util.List content)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(int index, java.lang.Object element)`
    `boolean` | `add(java.lang.Object element)`
    `boolean` | `addAll(java.util.Collection c)`
    `boolean` | `addAll(int index, java.util.Collection c)`
    `protected void` | `checkCollectionType(java.util.Collection c)` Checks that each member of the given collection are of the correct type
    `protected void` | `checkType(java.lang.Object object)` Checks that the given object instance is of the correct type otherwise a runtime exception is thrown
    `void` | `clear()`
    `boolean` | `equals(java.lang.Object that)`
    `boolean` | `equals(Sequence that)`
    `MetaClass` | `getMetaClass()` Returns the metaclass for a given class.
    `java.lang.Object` | `getProperty(java.lang.String property)` Retrieves a property value.
    `int` | `hashCode()`
    `java.lang.Object` | `invokeMethod(java.lang.String name, java.lang.Object args)` Invokes the given method.
    `int` | `minimumSize()`
    `java.lang.Object` | `remove(int index)`
    `protected void` | `removeRange(int fromIndex, int toIndex)`
    `void` | `set(java.util.Collection collection)` Sets the contents of this sequence to that of the given collection.
    `java.lang.Object` | `set(int index, java.lang.Object element)`
    `void` | `setMetaClass(MetaClass metaClass)` Allows the MetaClass to be replaced with a derived implementation.
    `void` | `setProperty(java.lang.String property, java.lang.Object newValue)` Sets the given property to the new value.
    `java.lang.Class` | `type()`

    - ### Methods inherited from class java.util.ArrayList

      `clone, contains, ensureCapacity, forEach, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, removeAll, removeIf, replaceAll, retainAll, size, sort, spliterator, subList, toArray, toArray, trimToSize`

    - ### Methods inherited from class java.util.AbstractCollection

      `containsAll, toString`

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

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

    - ### Methods inherited from interface java.util.List

      `containsAll`

    - ### Methods inherited from interface java.util.Collection

      `parallelStream, stream`

- - ### Constructor Detail

    - #### Sequence

          public Sequence()

    - #### Sequence

          public Sequence(java.lang.Class type)

    - #### Sequence

          public Sequence(java.lang.Class type,
                          java.util.List content)

  - ### Method Detail

    - #### set

          public void set(java.util.Collection collection)

      Sets the contents of this sequence to that of the given collection.

    - #### equals

          public boolean equals(java.lang.Object that)

      Specified by:
        `equals` in interface `java.util.Collection`
      Specified by:
        `equals` in interface `java.util.List`
      Overrides:
        `equals` in class `java.util.AbstractList`

    - #### equals

          public boolean equals(Sequence that)

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in interface `java.util.Collection`
      Specified by:
        `hashCode` in interface `java.util.List`
      Overrides:
        `hashCode` in class `java.util.AbstractList`

    - #### minimumSize

          public int minimumSize()

    - #### type

          public java.lang.Class type()

      Returns:
        the type of the elements in the sequence or null if there is no type constraint on this sequence

    - #### add

          public void add(int index,
                          java.lang.Object element)

      Specified by:
        `add` in interface `java.util.List`
      Overrides:
        `add` in class `java.util.ArrayList`

    - #### add

          public boolean add(java.lang.Object element)

      Specified by:
        `add` in interface `java.util.Collection`
      Specified by:
        `add` in interface `java.util.List`
      Overrides:
        `add` in class `java.util.ArrayList`

    - #### addAll

          public boolean addAll(java.util.Collection c)

      Specified by:
        `addAll` in interface `java.util.Collection`
      Specified by:
        `addAll` in interface `java.util.List`
      Overrides:
        `addAll` in class `java.util.ArrayList`

    - #### addAll

          public boolean addAll(int index,
                                java.util.Collection c)

      Specified by:
        `addAll` in interface `java.util.List`
      Overrides:
        `addAll` in class `java.util.ArrayList`

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `java.util.Collection`
      Specified by:
        `clear` in interface `java.util.List`
      Overrides:
        `clear` in class `java.util.ArrayList`

    - #### remove

          public java.lang.Object remove(int index)

      Specified by:
        `remove` in interface `java.util.List`
      Overrides:
        `remove` in class `java.util.ArrayList`

    - #### removeRange

          protected void removeRange(int fromIndex,
                                     int toIndex)

      Overrides:
        `removeRange` in class `java.util.ArrayList`

    - #### set

          public java.lang.Object set(int index,
                                      java.lang.Object element)

      Specified by:
        `set` in interface `java.util.List`
      Overrides:
        `set` in class `java.util.ArrayList`

    - #### invokeMethod

          public java.lang.Object invokeMethod(java.lang.String name,
                                               java.lang.Object args)

      Description copied from interface: `GroovyObject`
      Invokes the given method.
      Specified by:
        `invokeMethod` in interface `GroovyObject`
      Parameters:
        `name` - the name of the method to call
        `args` - the arguments to use for the method call
      Returns:
        the result of invoking the method

    - #### getProperty

          public java.lang.Object getProperty(java.lang.String property)

      Description copied from interface: `GroovyObject`
      Retrieves a property value.
      Specified by:
        `getProperty` in interface `GroovyObject`
      Parameters:
        `property` - the name of the property of interest
      Returns:
        the given property

    - #### setProperty

          public void setProperty(java.lang.String property,
                                  java.lang.Object newValue)

      Description copied from interface: `GroovyObject`
      Sets the given property to the new value.
      Specified by:
        `setProperty` in interface `GroovyObject`
      Parameters:
        `property` - the name of the property of interest
        `newValue` - the new value for the property

    - #### getMetaClass

          public MetaClass getMetaClass()

      Description copied from interface: `GroovyObject`
      Returns the metaclass for a given class.
      Specified by:
        `getMetaClass` in interface `GroovyObject`
      Returns:
        the metaClass of this instance

    - #### setMetaClass

          public void setMetaClass(MetaClass metaClass)

      Description copied from interface: `GroovyObject`
      Allows the MetaClass to be replaced with a derived implementation.
      Specified by:
        `setMetaClass` in interface `GroovyObject`
      Parameters:
        `metaClass` - the new metaclass

    - #### checkCollectionType

          protected void checkCollectionType(java.util.Collection c)

      Checks that each member of the given collection are of the correct type

    - #### checkType

          protected void checkType(java.lang.Object object)

      Checks that the given object instance is of the correct type otherwise a runtime exception is thrown