有没有办法为番石榴桌使用for-each结构?

时间:2012-03-16 17:06:16

标签: java foreach guava

现代馆藏最清晰的编码优势之一是能够使用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);
}

1 个答案:

答案 0 :(得分:5)

为什么不直接调用Map<R,Map<C,V>> rowMap()并迭代它?

另外,我认为您可能更喜欢考虑行和列顺序的TreeBasedTable,因为您对行和列使用整数,并且您似乎希望迭代这些行的自然顺序。