The Mastermind table is a simple class that has only one very simple functionality:
public class Table { final ColorManager manager; final int nrColumns; final List<Row> rows; public Table(int nrColumns, ColorManager manager) { this.nrColumns = nrColumns; this.rows = new LinkedList<>(); this.manager = manager; } public void addRow(Row row) { rows.add(row); } }
There is one thing to mention, which is nothing new, but worth repeating. The rows variable is declared as final and it gets the value in the constructor. This is a List<Row> type variable. The fact that it is final means that it will hold the same list object during its lifetime. The length, members, and other features of the list may and will change. We will add new rows to ...