Groovy JDK

## java.util
Class List

Method Summary
`boolean` | `addAll(int index, Object[] items)` Inserts all of the elements in the specified array into this list at the specified position.
`List` | `asImmutable()` A convenience method for creating an immutable list
`List` | `asSynchronized()` A convenience method for creating a synchronized List.
`boolean` | `equals(Object[] right)` Determines if the contents of this list are equal to the contents of the given array in the same order.
`boolean` | `equals(List right)` Compare the contents of two Lists.
`Process` | `execute()` Executes the command specified by the given list.
`Process` | `execute(String[] envp, File dir)` Executes the command specified by the given list, with the environment defined by `envp` and under the working directory `dir`.
`Process` | `execute(List envp, File dir)` Executes the command specified by the given list, with the environment defined by `envp` and under the working directory `dir`.
`Object` | `first()` Returns the first item from the List.

`List`

`getAt(Range range)`
Support the range subscript operator for a List

    def list = [1, "a", 4.5, true]
    assert list[1..2] == ["a", 4.5]

`List`

`getAt(EmptyRange range)`
Support the range subscript operator for a List

    def list = [true, 1, 3.4]
    assert list[0..<0] == []

`List` | `getAt(Collection indices)` Select a List of items from a List using a Collection to identify the indices to be selected.
`Object` | `getAt(int idx)` Support the subscript operator for a List.
`Object` | `head()` Returns the first item from the List.
`Object` | `last()` Returns the last item from the List.
`List` | `minus(Collection removeMe)` Create a List composed of the elements of the first list minus every occurrence of elements of the given collection.
`List` | `minus(Object operand)` Create a new List composed of the elements of the first list minus every occurrence of the operand.
`Set` | `permutations()` Finds all permutations of a collection.
`Object` | `pop()` Removes the last item from the List.
`boolean` | `push(Object value)` Appends an item to the List.
`void` | `putAt(int idx, Object value)` A helper method to allow lists to work with subscript operators.
`void` | `putAt(EmptyRange range, Object value)` A helper method to allow lists to work with subscript operators.
`void` | `putAt(EmptyRange range, Collection value)` A helper method to allow lists to work with subscript operators.
`void` | `putAt(IntRange range, Collection col)` List subscript assignment operator when given a range as the index and the assignment operand is a collection.
`void` | `putAt(IntRange range, Object value)` List subscript assignment operator when given a range as the index.
`void` | `putAt(List splice, List values)` A helper method to allow lists to work with subscript operators.
`void` | `putAt(List splice, Object value)` A helper method to allow lists to work with subscript operators.
`List` | `reverse()` Reverses the list.
`List` | `reverseEach(Closure closure)` Iterate over each element of the list in the reverse order.
`Set` | `subsequences()` Finds all non-null subsequences of a list.
`List` | `tail()` Returns the items from the List excluding the first item.
`List` | `transpose()` Adds GroovyCollections#transpose(List) as a method on lists.

Method Detail

### addAll

    public boolean addAll(int index, Object[] items)

  Inserts all of the elements in the specified array into this list at the specified position. Shifts the element currently at that position (if any) and any subsequent elements to the right (increases their indices). The new elements will appear in this list in the order that they occur in the array. The behavior of this operation is undefined if the specified array is modified while the operation is in progress.

Parameters:
  `index` - index at which to insert the first element from the specified array.

Returns:
  `true` if this collection changed as a result of the call

Since:
  1.7.2

See:
  List#addAll(int, Collection).

### asImmutable

    public List asImmutable()

  A convenience method for creating an immutable list

Returns:
  an immutable List

Since:
  1.0

See:
  Collections#unmodifiableList.

### asSynchronized

    public List asSynchronized()

  A convenience method for creating a synchronized List.

Returns:
  a synchronized List

Since:
  1.0

See:
  Collections#synchronizedList.

### equals

    public boolean equals(Object[] right)

  Determines if the contents of this list are equal to the contents of the given array in the same order. This returns `false` if either collection is `null`.

      assert [1, "a"].equals( [ 1, "a" ] as Object[] )

Parameters:
  `right` - this Object[] being compared to.

Returns:
  true if the contents of both collections are equal

Since:
  1.5.0

### equals

    public boolean equals(List right)

  Compare the contents of two Lists. Order matters. If numbers exist in the Lists, then they are compared as numbers, for example 2 == 2L. If both lists are `null`, the result is true; otherwise if either list is `null`, the result is `false`.

      assert ["a", 2].equals(["a", 2])
      assert ![2, "a"].equals("a", 2)
      assert [2.0, "a"].equals(2L, "a") // number comparison at work

Parameters:
  `right` - the List being compared to..

Returns:
  boolean `true` if the contents of both lists are identical, `false` otherwise.

Since:
  1.0

### execute

    public Process execute()

  Executes the command specified by the given list. The toString() method is called for each item in the list to convert into a resulting String. The first item in the list is the command the others are the parameters.

  For more control over Process construction you can use `java.lang.ProcessBuilder` (JDK 1.5+).

Returns:
  the Process which has just started for this command line representation.

Since:
  1.0

### execute

    public Process execute(String[] envp, File dir)

  Executes the command specified by the given list, with the environment defined by `envp` and under the working directory `dir`. The first item in the list is the command; the others are the parameters. The toString() method is called on items in the list to convert them to Strings.

  For more control over Process construction you can use `java.lang.ProcessBuilder` (JDK 1.5+).

Parameters:
  `envp` - an array of Strings, each member of which has environment variable settings in the format name=value, or `null` if the subprocess should inherit the environment of the current process..
  `dir` - the working directory of the subprocess, or `null` if the subprocess should inherit the working directory of the current process..

Returns:
  the Process which has just started for this command line representation.

Since:
  1.7.1

### execute

    public Process execute(List envp, File dir)

  Executes the command specified by the given list, with the environment defined by `envp` and under the working directory `dir`. The first item in the list is the command; the others are the parameters. The toString() method is called on items in the list to convert them to Strings.

  For more control over Process construction you can use `java.lang.ProcessBuilder` (JDK 1.5+).

Parameters:
  `envp` - a List of Objects (converted to Strings using toString), each member of which has environment variable settings in the format name=value, or `null` if the subprocess should inherit the environment of the current process..
  `dir` - the working directory of the subprocess, or `null` if the subprocess should inherit the working directory of the current process..

Returns:
  the Process which has just started for this command line representation.

Since:
  1.7.1

### first

    public Object first()

  Returns the first item from the List.

      def list = [3, 4, 2]
      assert list.first() == 3
      assert list == [3, 4, 2]

Returns:
  the first item from the List

Since:
  1.5.5

### getAt

    public List getAt(Range range)

  Support the range subscript operator for a List

      def list = [1, "a", 4.5, true]
      assert list[1..2] == ["a", 4.5]

Parameters:
  `range` - a Range indicating the items to get.

Returns:
  a sublist based on range borders or a new list if range is reversed

Since:
  1.0

See:
  List#subList.

### getAt

    public List getAt(EmptyRange range)

  Support the range subscript operator for a List

      def list = [true, 1, 3.4]
      assert list[0..<0] == []

Parameters:
  `range` - a Range indicating the items to get.

Returns:
  a sublist based on range borders or a new list if range is reversed

Since:
  1.0

See:
  List#subList.

### getAt

    public List getAt(Collection indices)

  Select a List of items from a List using a Collection to identify the indices to be selected.

      def list = [true, 1, 3.4, false]
      assert list[1,0,2] == [1, true, 3.4]

Parameters:
  `indices` - a Collection of indices.

Returns:
  a new list of the values at the given indices

Since:
  1.0

### getAt

    public Object getAt(int idx)

  Support the subscript operator for a List.

      def list = [2, "a", 5.3]
      assert list[1] == "a"

Parameters:
  `idx` - an index.

Returns:
  the value at the given index

Since:
  1.0

### head

    public Object head()

  Returns the first item from the List.

      def list = [3, 4, 2]
      assert list.head() == 3
      assert list == [3, 4, 2]

Returns:
  the first item from the List

Since:
  1.5.5

### last

    public Object last()

  Returns the last item from the List.

      def list = [3, 4, 2]
      assert list.last() == 2
      assert list == [3, 4, 2]

Returns:
  the last item from the List

Since:
  1.5.5

### minus

    public List minus(Collection removeMe)

  Create a List composed of the elements of the first list minus every occurrence of elements of the given collection.

      assert [1, "a", true, true, false, 5.3] - [true, 5.3] == [1, "a", false]

Parameters:
  `removeMe` - a Collection of elements to remove.

Returns:
  a List with the supplied elements removed

Since:
  1.0

### minus

    public List minus(Object operand)

  Create a new List composed of the elements of the first list minus every occurrence of the operand.

      assert ["a", 5, 5, true] - 5 == ["a", true]

Parameters:
  `operand` - an element to remove from the list.

Returns:
  the resulting List with the operand removed

Since:
  1.0

### permutations

    public Set permutations()

  Finds all permutations of a collection. E.g.

      def result = [1, 2, 3].permutations()
      assert result == [[3, 2, 1], [3, 1, 2], [1, 3, 2], [2, 3, 1], [2, 1, 3], [1, 2, 3]] as Set

Returns:
  the permutations from the list

Since:
  1.7.0

### pop

    public Object pop()

  Removes the last item from the List. Using add() and pop() is similar to push and pop on a Stack.

      def list = ["a", false, 2]
      assert list.pop() == 2
      assert list == ["a", false]

Returns:
  the item removed from the List

Since:
  1.0

### push

    public boolean push(Object value)

  Appends an item to the List. Synonym for add().

      def list = [3, 4, 2]
      list.push("x")
      assert list == [3, 4, 2, "x"]

Parameters:
  `value` - element to be appended to this list..

Returns:
  `true` (as per the general contract of the `Collection.add` method).

Since:
  1.5.5

### putAt

    public void putAt(int idx, Object value)

  A helper method to allow lists to work with subscript operators.

      def list = [2, 3]
      list[0] = 1
      assert list == [1, 3]

Parameters:
  `idx` - an index.
  `value` - the value to put at the given index.

Since:
  1.0

### putAt

    public void putAt(EmptyRange range, Object value)

  A helper method to allow lists to work with subscript operators.

      def list = ["a", true]
      list[1..<1] = 5
      assert list == ["a", 5, true]

Parameters:
  `range` - the (in this case empty) subset of the list to set.
  `value` - the values to put at the given sublist or a Collection of values.

Since:
  1.0

### putAt

    public void putAt(EmptyRange range, Collection value)

  A helper method to allow lists to work with subscript operators.

      def list = ["a", true]
      list[1..<1] = [4, 3, 2]
      assert list == ["a", 4, 3, 2, true]

Parameters:
  `range` - the (in this case empty) subset of the list to set.
  `value` - the Collection of values.

Since:
  1.0

See:
  List#putAt.

### putAt

    public void putAt(IntRange range, Collection col)

  List subscript assignment operator when given a range as the index and the assignment operand is a collection. Example:

      def myList = [4, 3, 5, 1, 2, 8, 10]
      myList[3..5] = ["a", true]
      assert myList == [4, 3, 5, "a", true, 10]

  Items in the given range are relaced with items from the collection.

Parameters:
  `range` - the subset of the list to set.
  `col` - the collection of values to put at the given sublist.

Since:
  1.5.0

### putAt

    public void putAt(IntRange range, Object value)

  List subscript assignment operator when given a range as the index. Example:

      def myList = [4, 3, 5, 1, 2, 8, 10]
      myList[3..5] = "b"
      assert myList == [4, 3, 5, "b", 10]

  Items in the given range are relaced with the operand. The `value` operand is always treated as a single value.

Parameters:
  `range` - the subset of the list to set.
  `value` - the value to put at the given sublist.

Since:
  1.0

### putAt

    public void putAt(List splice, List values)

  A helper method to allow lists to work with subscript operators.

      def list = ["a", true, 42, 9.4]
      list[1, 4] = ["x", false]
      assert list == ["a", "x", 42, 9.4, false]

Parameters:
  `splice` - the subset of the list to set.
  `values` - the value to put at the given sublist.

Since:
  1.0

### putAt

    public void putAt(List splice, Object value)

  A helper method to allow lists to work with subscript operators.

      def list = ["a", true, 42, 9.4]
      list[1, 3] = 5
      assert list == ["a", 5, 42, 5]

Parameters:
  `splice` - the subset of the list to set.
  `value` - the value to put at the given sublist.

Since:
  1.0

### reverse

    public List reverse()

  Reverses the list. The result is a new List with the identical contents in reverse order.

      def list = ["a", 4, false]
      assert list.reverse() == [false, 4, "a"]
      assert list == ["a", 4, false]

Returns:
  a reversed List

Since:
  1.0

### reverseEach

    public List reverseEach(Closure closure)

  Iterate over each element of the list in the reverse order.

      def result = []
      [1,2,3].reverseEach { result << it }
      assert result == [3,2,1]

Parameters:
  `closure` - a closure to which each item is passed..

Returns:
  the original list

Since:
  1.5.0

### subsequences

    public Set subsequences()

  Finds all non-null subsequences of a list. E.g.

      def result = [1, 2, 3].subsequences()
      assert result == [[1, 2, 3], [1, 3], [2, 3], [1, 2], [1], [2], [3]] as Set

Returns:
  the subsequences from the list

Since:
  1.7.0

### tail

    public List tail()

  Returns the items from the List excluding the first item.

      def list = [3, 4, 2]
      assert list.tail() == [4, 2]
      assert list == [3, 4, 2]

Returns:
  a list without its first element

Since:
  1.5.6

### transpose

    public List transpose()

  Adds GroovyCollections#transpose(List) as a method on lists.

      def result = [['a', 'b'], [1, 2]].transpose()
      assert result == [['a', 1], ['b', 2]]

Returns:
  a List of the transposed lists

Since:
  1.5.0

See:
  GroovyCollections#transpose.

Groovy JDK