web-dev-qa-db-ja.com

Groovyを使用してリストの先頭にアイテムを追加する方法

Groovyを使用してリストの先頭にアイテムを追加するにはどうすればよいですか?

37
Deepti
list.add(0, myObject);

これを他のいくつかの貴重な例として読むこともできます: http://groovy.codehaus.org/JN1015-Collections

43
bezmax

別のオプションは、リストを要素に展開するスプレッド演算子*を使用することです。

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

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

もう1つの方法は、要素をリストに入れ、2つのリストを連結することです。

assert [element] + list == [1, 2, 3]​
18
helpermethod

注意!

Groovy 2.5から:

_list.Push( myObject )
_

Groovy 2.5より前の_list.Push_appends...しかし、2.5/2.6(まだベータ版ではない)からは(そう思われる)prepend、 "Javaに合わせる" ...実際、_Java.util.Stack.Push_は常にprepended

実際、このPushメソッドはListに属していませんが、 GDK 2.5 DefaultGroovyMethods 、署名<T> public static boolean Push(List<T> self, T value)に属しています。ただし、Groovyの構文マジックのため、上記のように記述します:list.Push( myObject )

5
mike rodent
def list = [4, 3, 2, 1, 0]

list.plus(0, 5)

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

あなたはこれでより多くの例を見つけることができます link

2
Martin Rugadya