我有一个二维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)
答案 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}}。看看吧。