Как добавить элемент в начало списка с помощью Groovy? - PullRequest
36 голосов
/ 15 июня 2010

Как я могу использовать Groovy для добавления элемента в начало списка?

Ответы [ 4 ]

42 голосов
/ 15 июня 2010
list.add(0, myObject);

Вы также можете прочитать это для некоторых других ценных примеров: http://groovy.codehaus.org/JN1015-Collections

18 голосов
/ 30 октября 2013

Другим вариантом будет использование оператора распространения *, который расширяет список на его элементы:

def list = [2, 3]
def element = 1

assert [element, *list] == [1, 2, 3]

Другая альтернатива - поместить элемент в список и объединить два списка:

assert [element] + list == [1, 2, 3]​
2 голосов
/ 04 марта 2018

Внимание!

Из Groovy 2.5:

list.push( myObject )

До Groovy 2.5 list.push добавляет ... но из 2.5 / 2.6 (пока не бета) будет (кажется) prepend , "выравниваться с Java" ... действительно, java.util.Stack.push всегда имеет префикс .

На самом деле этот push метод относится не к List, а к GDK 2.5 DefaultGroovyMethods , подпись <T> public static boolean push(List<T> self, T value). Однако из-за волшебства синтаксиса Groovy мы напишем, как указано выше: list.push( myObject ).

1 голос
/ 09 декабря 2016
def list = [4, 3, 2, 1, 0]

list.plus(0, 5)

assert list == [5, 4, 3, 2, 1, 0]

Вы можете найти больше примеров по этой ссылке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...