Я новичок в JTable
, может быть, я что-то не понимаю.AbstractTableModel getValueAt perfomance
Предположим, у меня есть ArrayList
из 1000 Students
(id, name, surname, age
). И я хочу показать всех учеников в JTable
. Насколько я понял, я должен создать StudentTableModel
, что extends AbstractTableModel
и установить StudentTableModel
на JTable
. Поэтому мы можем рассматривать StudentTableModel
как «адаптер» между нашими ArrayList
и таблицей. В интернете я нашел такой пример реализации getValueAt
:
public Object getValueAt(int row, int col) {
Student student = arrayList.get(row);
switch (col) {
case 0:
return student.getId();
case 1:
return student.getName();
case 2:
return student.getSurname();
case 3:
return student.getAge();
}
}
Проблема заключается в том, что с 1000 студентов (строки) и 4 поля (столбцы), мы будем запускать этот переключатель 4000 раз. Пожалуйста, объясните, что я делаю неправильно или расскажу о лучшем решении.
не может быть проблем с числами предметов, – mKorbel
В этом нет ничего плохого. Если вы считаете, что 4000 - это большое число, не волнуйтесь, процессор ничего не считает. Единственное, что может быть проблемой, - это каждый раз, когда вы должны выполнять запрос базы данных, даже тогда коммутатор не будет проблемой, а фактическим извлечением данных. Я предлагаю вам не пытаться думать о производительности, прежде чем у вас есть фактическое доказательство того, что это проблема. – Kayaman
@mKorbel Пожалуйста, объясните, что вы имеете в виду. –