У меня есть следующий класс GroupStudentsBySurname
и содержит следующую структуру данных HashMap<String, ArrayList<Student>>
. Каждый Student
объект содержит два атрибута: surname
и english_score
Какую структуру данных JavaFX следует использовать в следующем примере?
Ключи являются фамилии студентов, принятых от объекта Student Student.surname
. Для определенного ключа Lee
у него есть ArrayList<Student>
, где учащиеся делятся одинаковыми фамилия.
Одним из методов этого класса GroupStudentsBySurname
является вычисление average_english_score
для учащихся, имеющих одну и ту же фамилию.
Я хотел бы использовать структуру TableView
данных для класса GroupStudentsBySurname
, который выглядит следующим образом:
Surname | average_english_score <- column headings
Lee | 65
Chan | 86
Smith | 76
Я хочу, чтобы иметь возможность использовать отслеживать изменения класса GroupStudentsBySurname
каждый раз, когда я оных/delete a Student
объект от архаиста, который, в свою очередь, влияет на атрибут average_english_score
.
Вопрос: Я не знаю, что структура данных от JavaFX следует использовать в данном случае? Мне нужно будет использовать ObservableMap
или ObservableList
до отслеживать изменения всякий раз, когда я добавить/удалить a Student
объект.
Это похоже, у вас уже есть структура данных. Маслор дал ответ, предлагая компоненты пользовательского интерфейса для отображения структуры данных. Это то, что вы хотите? Или вас интересовала информация о том, как отразить существующую структуру данных, используя специфические структуры данных JavaFX и идиомы, такие как ObservableList, ObservableMap и привязки. В целом, этот вопрос для меня совершенно неясен, вам, вероятно, нужно отредактировать его, чтобы уточнить, каков ваш вопрос. Кроме того, [Java 8 lambdas] (https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html) предоставляют возможности для поддержки ваших функций. – jewelsea
@jewelsea Извините, раньше я не знал о своем вопросе. См. Обновления. – mynameisJEFF