在Java对象中存储表 - 数据结构

时间:2016-04-19 09:08:54

标签: java object data-structures

我必须在JAVA中存储结构化为表的数据。除了列名和数据,我存储不同的元数据,如列的数据类型。目前我正在使用这个对象。

public class Data {

    private final Map<String, List<Object>> values;
    private final Map<String, Integer> columnSpec;
    private int rowSize;

    //Getter and Setter

如您所见,我保存了以列为导向的数据。有时候我必须对特定列中的数据进行迭代。有时超过特定的行。我正在寻找一个结构,我可以轻松地从列布局切换到行布局(反之亦然)。

您建议使用哪个对象?如何达到最大性能(更改布局的迭代次数减少)?在某些情况下,该表可以有超过1百万行。

1 个答案:

答案 0 :(得分:1)

如果使用库不是问题,可以使用Guava表结构。一些可用的结构是:TreeBasedTableHashBasedTableImmutableTableArrayTable。你可以选择最合适的一个。