寻找足够的数据结构(集合,地图,LocalDateTime)

时间:2014-07-26 20:11:27

标签: java data-structures collections

我想要一个包含以下内容的数据结构:

  • 表示时间段的两个对象(例如Java 8中的LocalDateTime)
  • 布尔变量

Timeslot需要连接到布尔值。该程序需要知道时隙是否可用。它将用于工作调度的背包问题求解算法。

到目前为止我得到了什么:

ArrayList<Map<List<LocalDateTime>, Boolean>>

但它看起来相当复杂,如果我不知道密钥,Map可能不是迭代的最佳方式。我想了解一个ArrayList而不是Map,但我不知道如何用不同的数据类型初始化它。

1 个答案:

答案 0 :(得分:1)

来自Google Guava的

Table听起来非常适合这种情况。

Table<LocalDateTime, LocalDateTime, Boolean> dateTable
                       = TreeBasedTable.create();

它的原因是它允许您访问行,列和值(以参数顺序),并允许您进行相对简单的查找。

示例:如果要查找给定LocalDateTime行的所有值,则执行以下操作:

LocalDateTime today = LocalDateTime.of(2014, Month.JULY, 26, 0, 0);
// prints a map of all of today's values
System.out.println(dateTable.row(today));