我有一个返回HashBasedTable
的方法(来自Google的番石榴项目:https://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained#Table)
我希望在创建后从表中提取值。
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;
/**
*
* @author yschellekens
*/
public class StackOverflow {
/**
*
* @return
*/
public static Table<Long, Long, String> getGeoTargeting() {
Table<Long, Long, String> weightedGraph = HashBasedTable.create();
weightedGraph.put(999_99_9999L, 999_99_9999L, "blabla");
return weightedGraph;
}
public static void main(String[] args) throws Exception {
Table<Long, Long, String> weightedGraph = HashBasedTable.create();
weightedGraph=getGeoTargeting();
System.out.println(weightedGraph.isEmpty());
}
}
输出:
run:
false
BUILD SUCCESSFUL (total time: 2 seconds)
我的问题是:如何从表中提取单个元素,例如(允许我通过索引提取元素):
get(int index) //as in array list
而不是(这是Javadoc中Hashbasetable
)唯一的get方法
get(Object rowKey, Object columnKey)
Returns the value corresponding to the given row and column keys, or null if no such mapping exists.
因为我想通过索引而不是值
来提取元素提前致谢!
答案 0 :(得分:1)
要将表中的所有值作为集合检索,请执行以下操作:
Collection values = weightedGraph.values()
要通过索引访问返回集合中的任何值,请执行以下操作:
new ArrayList(values).get(index);