我需要使用嵌套数组吗?如何设置? -Groovy

时间:2018-10-16 15:09:00

标签: arrays multidimensional-array groovy initialization datastore

我将要记录特定的日期和发生在它们上面的事件,但是它们并没有全部具有相同数量的事件。

以下是一些我想记录的日期及其事件的示例:

  • 日期:“ 10.31.18”事件:“万圣节”,“爸爸的生日”。

  • 日期:“ 11.22.18”事件:“感恩节”

  • 日期:“ 7.25.18”事件:“妈妈的生日”,“道尔顿的生日”,“马克的生日”

记录此数据的最佳方法是什么?我以为这是一个数组,但是那会是什么样子?

1 个答案:

答案 0 :(得分:1)

按照您编写它的方式,它只是普通的Map<String, List<String>>,通常是:

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 dateList<String> events字段,并将该类用作存储。