Cześć mam problem, tworzę tabelę TableView następnie tworzę w niej TableColumn i chcę wrzucić do niej wartości

		for (int i = 0; i < listColumns.size(); i++) {
			setValues(listColumns.get(i)); //ustawia wartości odczytane z danego pliku .txt
			view(tableView, listColumns.get(i));
			listValues.clear();
		}
	public void view(TableView<String> tableView, String name) {
		TableColumn<String,String> tableColumn = new TableColumn<>(name);
		tableColumn.setCellValueFactory(param -> new ReadOnlyStringWrapper(param.getValue()));
		tableView.getColumns().add(tableColumn);
		ObservableList<String> items = FXCollections.observableArrayList(listValues);
		tableView.setItems(items);
	}

w wyniku tego kodu otrzymuję tabelę ze wszystkimi kolumnami jednak wartości we wszystkich kolumnach są równe wartością ostatniej kolumny.
Przykładowo mam kolumny 1(wartości:1,2,3), 2(4,5,6), 3(7,8,9) to w tabeli mam 1(7,8,9), 2(7,8,9), 3(7,8,9).
Co zrobić by wartości ustawiały się dla konkretnej kolumny?