现代 Collections 最简洁的编码优势之一是能够使用 for-each 结构。我在下面有一个简单的通用表格打印方法,然后是测试加载方法。虽然这行得通,但某种形式的 for-each 会干净得多。有什么想法吗?
public void printTable(Table table)
{
int numRows = table.rowKeySet().size();
int numCols = table.columnKeySet().size();
for (int i=0; i<numRows; i++)
{
for (int j=0; j<numCols; j++)
{
System.out.print( table.get(i,j) + " " );
}
System.out.println();
}
}
Table<Integer, Integer, Integer> table = HashBasedTable.create();
void makeTable()
{
for (int i=0; i<4; i++)
for (int j=0; j<6; j++)
table.put(i, j, i*j+2);
}
最佳答案
你为什么不调用Map<R,Map<C,V>> rowMap()
并对其进行迭代?
此外,我认为您可能更喜欢 TreeBasedTable
这说明了行和列的顺序,因为您对行和列使用整数,而且您似乎想要迭代这些行和列的自然顺序。
关于java - 有没有办法为 Guava 表使用 for-each 结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9741513/