Jedną z najczystszych zalet kodowania współczesnych kolekcji jest możliwość korzystania z każdej konstrukcji. Mam poniżej prostą, ogólną metodę drukowania tabeli, po której następuje metoda ładowania testowego. Podczas gdy to działa, jakiś rodzaj dla każdego byłby o wiele czystszy. Jakieś pomysły?Czy istnieje sposób użycia konstrukcji dla każdego stołu Guawy?
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);
}
pętle foreach działają tylko z tablicami i elementami implementującymi 'Iterable'. "Tabela" Guavy nie należy do tych, więc utknąłeś w indeksowanej pętli for. – skaffman
Ah! To ma sens, ale jest trochę rozczarowujące. Dzięki! – MantaMan
Powyższa konstrukcja i podobne, używając klawiszy wiersza i kolumny, zmusiły mnie do sprawdzenia zerowych wpisów w złożonej tabeli, w której zostały dodane i usunięte. Poniższe podejście działa znacznie lepiej: Collection coral = table.values (); dla (Coral coral: corals) {System.out.println (coral); } –
MantaMan