3

我对使用交叉表(列联表)的加载和执行操作都有问题。我想从一个平面 txt 文件(来自交叉表)加载数据并将其存储在内存中,以便稍后将其打印为马赛克图。我遇到的最大问题是如何将其存储在内存中以进行可能的类别(选项卡行)切换。 交叉表可能是 3 维甚至 4 维。

4

1 回答 1

0

如果维度不固定并且您并不十分关心效率,我建议您将所有交叉表单元格简单地存储在一个列表中。然后,您可以使用以下模式基于尺寸坐标创建选择:

class Cell{
    List<Integer> coordinates ...
    double value ...
}

class Selection{
    int dimension ...
    int start ...
    int end ...
    public boolean contains(Cell cell){
        int coord = cell.coordinates.get(dimension);
        return coord < end && coord >= start;
    }
}

class Crosstab{
    List<Cell> cells ... 
    public [double/int/object] tabulate(Selection selection)...
}
于 2013-07-09T13:22:15.903 回答