JAVA: пузырьковая сортировка ArrayList в jTable

Я делаю jTable из разных занятий. В этой таблице есть столбец: «Время». Я хочу отсортировать jTable с помощью пузырьковой сортировки на основе этого столбца.

Например: теперь у меня есть таблица, в которой активность «CALL» составляет 4 часа в неделю, активность «OMG: 7 часов в неделю, а активность« ALLO »составляет 5 часов в неделю. Я хочу отсортировать эту таблицу так, чтобы первая строка будет ЗВОНОК (4 ч / нед), затем второй будет АЛЛО (5 ч / нед), а третьим будет OMG (7 ч / нед).

Как мне это сделать с помощью пузырьковой сортировки?

Посмотрите на эту картинку: https://i.stack.imgur.com/UObeW.png

Я уже получил значения из столбца «Время» в ArrayList:

    DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
    ArrayList list = new ArrayList();
        for(int i = 0;i<jTable1.getModel().getRowCount();i++)
        {
        list.add(jTable1.getModel().getValueAt(i,3)); 
        }

Вы знаете, что JTable имеет встроенную поддержку сортировки?

MadProgrammer 17.08.2018 08:26

Я знаю, но это задание. Итак, мне нужно отсортировать его с помощью пузырьковой сортировки.

Khaknazar Shintasov 17.08.2018 08:27
"Как бы я сделал это с помощью пузырьковой сортировки?" - Начните с использования POJO, которые инкапсулируют все свойства, которые вы хотите сохранить вместе. Существует множество примеров пузырьковая сортировка, вы должны попробовать адаптировать один или несколько под свои нужды.
MadProgrammer 17.08.2018 08:29

Я умею делать пузырьковую сортировку. Проблема в том, что я не знаю, как реализовать это в таблице: в частности, как поменять местами строки.

Khaknazar Shintasov 17.08.2018 08:38

Это будет зависеть от TableModel, и в этом случае у вас есть несколько возможных вариантов: 1. Восстановите TableModel с нуля; 2. Используйте предустановленный TableModel, который поддерживает перемещение или замену строк; 3. Напишите свой собственный TableModel, чтобы обеспечить эту поддержку.

MadProgrammer 17.08.2018 09:22
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
85
0

Другие вопросы по теме