Witam, potrzebuję zrobić wyświetlanie w tabeli danych z pliku. W tym tkwi problem, że nie wiadomo ile jest kolumn i muszą być tworzone dynamicznie:

ArrayList<Instance> instances = new ArrayList<Instance>();
        for (int i = 0; i < data.numInstances(); i++) {
            instances.add(data.instance(i));
            System.out.println(data.instance(i));
        }
        dataTable.setItems(FXCollections.observableArrayList(instances));
        for (int i = 0; i < data.numAttributes(); i++) {
            TableColumn<Instance, String> column = new TableColumn<>(data.attribute(i).name());
            column.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Instance, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(TableColumn.CellDataFeatures<Instance, String> in) {
                    return new SimpleStringProperty(String.valueOf(in.getValue().value(1)));
                }
            });
            column.prefWidthProperty().bind(dataTable.widthProperty().divide(data.numAttributes()));
            dataTable.getColumns().add(column);
        }
        dataTable.prefHeightProperty().bind(stage.heightProperty());
        dataTable.prefWidthProperty().bind(stage.widthProperty().subtract(17));

W miejscu

in.getValue().value(1)

potrzebuję się odwołać do wartości z pętli lecz nie mogę ponieważ musi być ona final
Z góry dzięki za pomoc