5

リストからマップを作成しようとしています。これが私がやっていることです。

itemNoList = [1,2,3,4]
bookMap = [:]
bookMap = itemNoList.collect{ [ (it) : it+1 ] }

これを行うと、bookMap が ArrayList タイプに変更され、HashMap のリストが作成されます。

bookMap、つまり[{1=2}, {2=3}, {3=4}, {4=5}]マップのリストです。

collectメソッドを使用して ArrayList から HashMap を取得するにはどうすればよいですか? each代わりにを使用してこれを解決するのは簡単collectですが、 を使用して解決できるかどうかに興味がありますcollect

4

1 に答える 1

12

あなたは運がいいです!collectEntriesメソッド ハンドルは同じように機能collectしますが、Map に対してのみ機能します。

groovy:000> itemNoList = [1, 2, 3, 4]
===> [1, 2, 3, 4]
groovy:000> itemNoList.collectEntries { [(it): it+1] }
===> {1=2, 2=3, 3=4, 4=5}
于 2013-10-28T03:26:44.363 に答える