Как создать элементы карты или словарь из списка в Groovy - PullRequest
0 голосов
/ 05 мая 2020

У меня есть список элементов в Groovy скрипте:

my_list = ['key_1', 'value_1', 'key_2', 'value_2']

Я хочу превратить этот список в Groovy карту элементов (он же словарь, он же ha sh он же ассоциативный массив) так это будет выглядеть так:

[key_1: 'value_1', key_2: 'value_2']

Как бы вы это сделали?

Ответы [ 2 ]

2 голосов
/ 05 мая 2020

Более короткий метод:

def ​my_list = ['key_1', 'value_1', 'key_2', 'value_2']
​
def my_map = my_list.collate(2, false).collectEntries()
​
assert my_map == ['key_1':'value_1', 'key_2':'value_2']
0 голосов
/ 05 мая 2020

Это будет работать, в зависимости от надежности заказа в вашем списке:

my_list = ['key_1', 'value_1', 'key_2', 'value_2']

my_map = [:]

my_list.eachWithIndex { item, idx ->
    if (idx % 2 == 0) {
        my_map[my_list[idx]] = my_list[idx+1]
    }
}

assert my_map == ['key_1':'value_1', 'key_2':'value_2']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...