如何动态实现番石榴表?

时间:2017-12-01 09:41:43

标签: java guava

我遇到了以下问题: 我想使用番石榴表,因为它们提供了方便的转置操作。在Java 8中,可以像这样实例化一个guava表:

Table<R,C,V> table = HashBasedTable.createTable();

我发现的所有示例都使用静态实例来确定类型和列数。不幸的是,我不知道设计时的列数,所以我必须找到一种方法来使用arguemtns实现表,我必须在运行时确定它。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

好的,我自己发现了,我误解了文档:

首先我想,番石榴表是如下:

Table<T,....,T> table = HashBasedTable.createTable();

每列的N型定义。

但是,仔细阅读文档,我发现了实例化

完成
Table<R, C, V> table = HashBasedTable.createTable();

其中R是行键的类型,C类型列键,V值类型。因此,例如可以通过以下方式实现Double值矩阵:

Table<Integer, Integer, Double> matrix = HashBasedTable.createTable();

并通过单元格索引(Integer,Integer)访问matix。