Нужно ли использовать вложенный массив?Как мне это настроить?- Groovy - PullRequest
0 голосов
/ 16 октября 2018

Я хочу записать конкретные даты и события, происходящие на них, но они не все имеют одинаковое количество событий.

Вот несколько примеров дат, которые я хотел бы записать, иих события:

  • Дата: «10.31.18» События: «Хэллоуин», «День рождения папы».

  • Дата: «11.22.18 "События:" День благодарения "

  • Дата:" 7.25.18 "События:" День рождения мамы "," День рождения Далтона "," День рождения Марка "

Каков наилучший способ записи этих данных?Я думал, что это будет массив, но как это будет выглядеть?

1 Ответ

0 голосов
/ 16 октября 2018

В том виде, в каком вы написали это, было бы просто Map<String, List<String>>, что в groovy:

def events = [
    "10.31.18": ["Halloween", "Dad's Birthday"],
    "11.22.18": ["Thanksgiving"],
    "7.25.18":  ["Mom's Birthday", "Dalton's Birthday", "Mark's Birthday"]
]

Чтобы поместить пустой список в эту карту, вам необходимо:

events."10.31.19" = []

Лучшей идеей является использование Date в качестве ключа вместо простого String, например,

def events = [:]
events.(new Date().parse("dd.MM.yyyy","22.03.2019")) = []

И ИМХО, лучшая идея - создать ООП и создать класс с именем DatedEvents, которыйпридется поля: Date date и List<String> events и использовать этот класс в качестве хранилища.

...