如何从另一个类调用Guava的Table类

时间:2014-11-26 14:51:34

标签: java multidimensional-array invoke

我有一个二维arraylist,它指定一组包含多个行和列的数字。但是当我在另一个用于计算的类中执行方法时遇到一些问题,该方法需要使用数组中的数字,但是我无法调用它们。

以下是错误消息:Syntax error on token "SRate", delete this token - The method get(int) is undefined for the type SIBOR

我调用的方式类似于arrayname.get(row)arrayname.get(column)

2 个答案:

答案 0 :(得分:0)

数组不是ArrayList!

访问数组:

arrayName[i];

访问ArrayList:

arrayListName.get(i);

答案 1 :(得分:0)

所以,没有二维arraylist这样的东西。您可以拥有List<List<SIBOR>>,但这称为List of Lists。只要您知道外部列表中存在arrayListName.get(i).get(j),就可以通过i访问此内容,否则会产生NullPointerException

你也可以这样做:

List<List<SIBOR>> outter = ...;
List<SIBOR> inner = outter.get(row);
SIBOR value = inner == null ? null : inner.get(column);

使用List of Lists的技巧是,在插入时,您需要检查内部List是否存在,如果不存在则创建它。

同样,我会指出,Guava的Table课程正是您所需要的,并且如果外部列表没有&#39,则无需创建内部Lists或获得NPE存在。

因此,List<List<SIBOR>>取代Table<Integer, Integer, SIBOR>而不是{{1}}。看看吧。