【问题标题】:Java: datastructure for a table with typeparameter for row, column and valueJava:具有行、列和值类型参数的表的数据结构
【发布时间】:2019-01-08 10:04:21
【问题描述】:

我正在寻找一种数据结构,如表格,其中行、列和值的类型是可参数化的。值为行/列的单元格。

在任何常见的 java 库中有什么可比较的吗?

     | col1  | col2  | ...
-------------+-------+----
row1 | val11 | val12 | ...
row2 | val21 | val22 | ...

【问题讨论】:

    标签: java collections


    【解决方案1】:

    据我所知,没有内置表格。但即使在这种设计中,如果没有标准查询,你能实现什么?如果您的方法只是使用表格、可视化以及编码可能有所不同,您可能需要重新考虑您的设计。

    不过你也可以试试:

    1. 构建多维数组(数据类型相同)。
    2. 对象/类列表的标准。即 list.add(new Data(col1, col2));
    3. 查看桌子上的Guava's Library
    4. 查看其他库,尤其是关键字DataFrame。它是许多分析工具的关键。

    【讨论】:

    • 自己构建它不是什么大问题。但也许那里已经有一些东西了。我会看看你引用的库。
    • Guava.Table 正是我想要的 :-)
    【解决方案2】:

    在 java 中,这种数据结构通常表示为相同类型的对象列表,每个对象等同于一行。只做一个没有任何其他实现(甚至名称)的对象列表非常容易。

    它也可以是一个映射列表,其中每个映射具有相同的键(使其非常类似于对象列表)

    如果您在 Groovy 中查询 SQL,这正是您得到的结构——所以我习惯于将其视为一种独特的数据结构。

    虽然您经常找不到这种精确数据结构的集合(我想是因为对象列表太常见了),但很高兴将其识别为实用程序的数据结构。

    例如,在 Groovy 中,我有一个实用程序可以获取地图列表并将其转储到 ascii 中(很像您的绘图),还有一个将地图转储到秋千表对象的实用程序——这些都没有任何参数除了映射列表(或对象,groovy 不会区分),因为它可以根据映射键计算列名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 2014-03-07
      • 2019-05-14
      • 2015-08-26
      • 1970-01-01
      相关资源
      最近更新 更多