Package 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`, `Serializable`, `Cloneable`, `Iterable`, `Collection`, `List`, `RandomAccess`

Direct Known Subclasses:
  `NonEmptySequence`

public class Sequence extends ArrayList implements GroovyObject
Represents a sequence of zero or more objects of a given type. The type can be omitted in which case any type of object can be added.

See Also:
  - Serialized Form

- ## Field Summary

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

  `modCount`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Sequence()`
  Creates a sequence with no type restriction.
  `Sequence(Class type)`
  Creates a sequence constrained to the supplied type.
  `Sequence(Class type, List content)`
  Creates a sequence initialized with the supplied content.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(int index, Object element)`
  `boolean`
  `add(Object element)`
  `boolean`
  `addAll(int index, Collection c)`
  `boolean`
  `addAll(Collection c)`
  `protected void`
  `checkCollectionType(Collection c)`
  Checks that each member of the given collection are of the correct type
  `protected void`
  `checkType(Object object)`
  Checks that the given object instance is of the correct type otherwise a runtime exception is thrown
  `void`
  `clear()`
  `boolean`
  `equals(Sequence that)`
  Compares this sequence with another sequence using Groovy equality.
  `boolean`
  `equals(Object that)`
  `MetaClass`
  `getMetaClass()`
  Returns the metaclass for a given class.
  `Object`
  `getProperty(String property)`
  Retrieves a property value.
  `int`
  `hashCode()`
  `Object`
  `invokeMethod(String name, Object args)`
  Invokes the given method.
  `int`
  `minimumSize()`
  Returns the minimum allowed size for this sequence.
  `Object`
  `remove(int index)`
  `protected void`
  `removeRange(int fromIndex, int toIndex)`
  `Object`
  `set(int index, Object element)`
  `void`
  `set(Collection collection)`
  Sets the contents of this sequence to that of the given collection.
  `void`
  `setMetaClass(MetaClass metaClass)`
  Allows the MetaClass to be replaced with a derived implementation.
  `void`
  `setProperty(String property, Object newValue)`
  Sets the given property to the new value.
  `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.Collection

  `parallelStream, stream, toArray`

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

  `containsAll`

- ## Constructor Details

  - ### Sequence

    public Sequence()
    Creates a sequence with no type restriction.

  - ### Sequence

    public Sequence(Class type)
    Creates a sequence constrained to the supplied type.
    Parameters:
      `type` - the allowed element type

  - ### Sequence

    public Sequence(Class type, List content)
    Creates a sequence initialized with the supplied content.
    Parameters:
      `type` - the allowed element type
      `content` - the initial content

- ## Method Details

  - ### set

    public void set(Collection collection)
    Sets the contents of this sequence to that of the given collection.

  - ### equals

    public boolean equals(Object that)
    Specified by:
      `equals` in interface `Collection`
    Specified by:
      `equals` in interface `List`
    Overrides:
      `equals` in class `ArrayList`

  - ### equals

    public boolean equals(Sequence that)
    Compares this sequence with another sequence using Groovy equality.
    Parameters:
      `that` - the other sequence
    Returns:
      `true` if the sequences are equal

  - ### hashCode

    public int hashCode()
    Specified by:
      `hashCode` in interface `Collection`
    Specified by:
      `hashCode` in interface `List`
    Overrides:
      `hashCode` in class `ArrayList`

  - ### minimumSize

    public int minimumSize()
    Returns the minimum allowed size for this sequence.
    Returns:
      the minimum size

  - ### type

    public 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, Object element)
    Specified by:
      `add` in interface `List`
    Overrides:
      `add` in class `ArrayList`

  - ### add

    public boolean add(Object element)
    Specified by:
      `add` in interface `Collection`
    Specified by:
      `add` in interface `List`
    Overrides:
      `add` in class `ArrayList`

  - ### addAll

    public boolean addAll(Collection c)
    Specified by:
      `addAll` in interface `Collection`
    Specified by:
      `addAll` in interface `List`
    Overrides:
      `addAll` in class `ArrayList`

  - ### addAll

    public boolean addAll(int index, Collection c)
    Specified by:
      `addAll` in interface `List`
    Overrides:
      `addAll` in class `ArrayList`

  - ### clear

    public void clear()
    Specified by:
      `clear` in interface `Collection`
    Specified by:
      `clear` in interface `List`
    Overrides:
      `clear` in class `ArrayList`

  - ### remove

    public Object remove(int index)
    Specified by:
      `remove` in interface `List`
    Overrides:
      `remove` in class `ArrayList`

  - ### removeRange

    protected void removeRange(int fromIndex, int toIndex)
    Overrides:
      `removeRange` in class `ArrayList`

  - ### set

    public Object set(int index, Object element)
    Specified by:
      `set` in interface `List`
    Overrides:
      `set` in class `ArrayList`

  - ### invokeMethod

    public Object invokeMethod(String name, Object args)
    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 Object getProperty(String property)
    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(String property, Object newValue)
    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()
    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)
    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(Collection c)
    Checks that each member of the given collection are of the correct type

  - ### checkType

    protected void checkType(Object object)
    Checks that the given object instance is of the correct type otherwise a runtime exception is thrown