java - 有没有办法为 Guava 表使用 for-each 结构?

标签 java foreach guava

现代 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/

相关文章:

java - 从父类(super class)调用方法的 super 关键字与类名之间的区别

java.lang.NullPointerException异常

java - 在 Linux Java 中动态加载类

java - Guava @CompatibleWith 注释的目的是什么?

java - 将 Guava 与 j2objc 一起使用

java - java 注册表单

javascript - 如何在每个循环中对 Json 对象进行分组

java - 在 Java 中,我应该在 foreach 之前在本地复制一个 volatile 引用吗?

c# - 需要比较单独的 foreach 循环产生的值

java - 潜在的空指针访问