Groovy adds several methods to the List
interface. In this post we look at the head()
and tail()
methods. The head()
method returns the first element of the list, and the tail()
returns the rest of the elements in the list after the first element. The following code snippet shows a simple recursive method to reverse a list.
def list = [1, 2, 3, 4] def reverse(l) { if (l.size() == 0) { [] } else { reverse(l.tail()) + l.head() } } assert [4, 3, 2, 1] == reverse(list) // For the same result we can of course use the List.reverse() method, // but then we didn't learn about tail() and head() ;-) assert [4, 3, 2, 1] == list.reverse()