实现多列数组排序

时间:2011-12-12 01:16:06

标签: java arrays sorting

我正在尝试对数组中的数据进行排序,如下所示:

(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 个答案:

答案 0 :(得分:4)

我建议将每行封装到Object并编写Comparator以根据需要对其进行排序。 Java是一种面向对象的语言;停止思考原语和字符串。

答案 1 :(得分:2)

最简单的方法可能是创建一个封装四个值的类,使类实现Comparable并通过整数定义其compareTo()方法。