Реализация многоколонной сортировки массива - PullRequest
1 голос
/ 12 декабря 2011

Я пытаюсь отсортировать данные в массив, который выглядит следующим образом:

(String, int, String, double)

или

(David, 25, Da, 123.54)

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

David, 25, Da, 123.54
Sean, 27, Pa, 514.21
Luke, 32, Ma, 221.54

Эти значения считываются из файла, организуются в конструкторе и отправляются обратно в драйвер.

Вот что у меня есть, я не уверен, насколько он будет полезен:

    public class NamesAges{
       public String[] display() throws IOException {  

    FileReader fileReader = new FileReader("elements.csv");  

    BufferedReader bufferedReader = new BufferedReader(fileReader);  
    List<String> lines = new ArrayList<String>();  
    String line = null;  

    while ((line = bufferedReader.readLine()) != null)  
    {  
        lines.add(line);  
        System.out.println(line);
    }  

    bufferedReader.close();  

    String[] sl = (String[]) lines.toArray(new String[0]);


    return sl;
    }  
}

Какие-нибудь советы?

Ответы [ 2 ]

4 голосов
/ 12 декабря 2011

Я бы рекомендовал инкапсулировать каждую строку в Object и записывать Comparator, чтобы отсортировать их по мере необходимости.Java - объектно-ориентированный язык;перестань думать в терминах примитивов и строк.

2 голосов
/ 12 декабря 2011

Самый простой способ, вероятно, состоит в том, чтобы создать класс, который инкапсулирует четыре значения, заставить класс реализовать Comparable и определить его метод compareTo() через целое число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...