Package groovy.lang

# Class Sequence

java.lang.Object
java.util.AbstractCollection
java.util.AbstractList
java.util.ArrayList
groovy.lang.Sequence

All Implemented Interfaces:
  `GroovyObject`, `Serializable`, `Cloneable`, `Iterable`, `Collection`, `List`, `RandomAccess`, `SequencedCollection`

Direct Known Subclasses:
  `NonEmptySequence`

public class Sequence extends 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.

See Also:
  - Serialized Form

## Field Summary

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

`modCount`

## Constructor Summary

Constructors
Constructor
Description
`Sequence()`
`Sequence(Class type)`
`Sequence(Class type, List 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)`
`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()`
`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

`addFirst, addLast, clone, contains, ensureCapacity, forEach, get, getFirst, getLast, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, removeAll, removeFirst, removeIf, removeLast, 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, reversed`

## Constructor Details

### Sequence

public Sequence()

### Sequence

public Sequence(Class type)

### Sequence

public Sequence(Class type, List 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)

### 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()

### 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)
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 Object getProperty(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(String property, 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(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