Modern Koleksiyonların en temiz kodlama yararlarından biri, her bir yapı için kullanım yeteneğidir. Basit bir genel tablo baskı yönteminin altında bir test yükleme yöntemi var. Bu çalışırken, her biri için bir çeşit daha temiz olurdu. Herhangi bir fikir?Guava Tablosu için her bir inşaat için bir yol var mı?
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);
}
foreach döngüleri, yalnızca "Iterable" işlevini uygulayan diziler ve dizilerle çalışır. Guava'nın 'Tablosu' bunlardan biri değil, bu yüzden dizininiz için dizininizde kalıyorsunuz. – skaffman
Ah! Bu mantıklı, ama biraz hayal kırıklığı yaratıyor. Teşekkürler! – MantaMan
Yukarıdaki yapı ve benzerleri, satır ve sütun tuşlarını kullanarak, null girdilerin, eklendiği ve kaldırıldığı karmaşık bir tabloda kontrol etmem için beni zorladı. Aşağıdaki yaklaşım daha iyi çalışır: Koleksiyon coral = table.values (); (Mercan mercan: mercanlar) için {System.out.println (mercan); } –
MantaMan