Since Groovy 1.8 we can create a new list from two lists, where the second list is 'inserted' at a specified index position in the first list. The original lists are not changed: the result is a new list. Groovy also adds the
addAll() method to List objects (since Groovy 1.7.2), but then the original list object is changed.
def list = ['Gr', 'vy'] assert list.plus(1, 'oo') == ['Gr', 'oo', 'vy'] assert list == ['Gr', 'vy'] list.addAll(1, 'oo') assert list == ['Gr', 'oo', 'vy'] assert (1..10).plus(5, 6..7) == [1,2,3,4,5,6,7,6,7,8,9,10]