2013-09-24 4 views
1

Итак, у меня есть все эти данные, которые я в конечном итоге загружаю в объект, который должен отображаться в JTable. Что мне нужно сделать, это отсортировать все данные по средним значениям и скопировать их в объект для JTable отсортированным способом, который отображает данные от High до Low в среднем.Сортировка данных по столбцу в java

Это все мои данные

private String[] Names = new String[10]; 
private char[] Sex = new char[10]; 
private int[][] Score = new int[10][5]; 
private double[] Averages = new double[10]; 
private char[] LetterGrades = new char[10]; 

Это как я кормлю его в несортированном

Object[][] data = new Object[10][9]; 
    for(int i = 0; i < 10; i++){ 
     data[i][0] = Names[i]; 
     data[i][1] = Sex[i]; 
     data[i][2] = Score[i][0]; 
     data[i][3] = Score[i][1]; 
     data[i][4] = Score[i][2]; 
     data[i][5] = Score[i][3]; 
     data[i][6] = Score[i][4] 
     data[i][7] = Averages[i]; 
     data[i][8] = LetterGrades[i]; 
    } 

Я думал сделать это с ArrayList, но я не могу показаться, оберните мою голову вокруг того, как подавать ее в список массивов, чем сортировать ее по столбцу «Средний». Я не уверен, могу ли я сортировать объект. Любое понимание или точка в правильном направлении были бы удивительными.

+1

Вы действительно должны использовать пользовательский объект, а не многомерного массива и сортировки объектов легко с помощью «Компаратор». – chrylis

+0

@chrylis спасибо за совет. Я это сделаю. – EvanD

+0

Несвязанные: ознакомьтесь с правилами именования java и придерживайтесь их. – kleopatra

ответ

4

JTable имеет возможности сортировки встроенный.

Вы можете активировать его по телефону table.setAutoCreateRowSorter(true);

См Sorting and Filtering для более подробной информации

+1

Да, вы должны были видеть, что мы использовали петель, прежде чем это было реализовано: P – MadProgrammer

Смежные вопросы