2011-12-12 82 views
1

我想在一個數組,看起來像這樣的數據進行排序:實施多圓柱數組排序

(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; 
    } 
} 

任何提示嗎?

+0

*「我希望數組排序的描述由」整數「值決定。」* O..K。鑑於只有一列具有整數值,這是如何進行「多列」排序? –

回答

4

我建議將每一行封裝到Object中,並根據需要編寫Comparator進行排序。 Java是一種面向對象的語言;根據原語和字符串停止思考。

+0

但是'字符串'不是原語。 – Jon

+0

他們是你使用它們的方式。 – duffymo

+0

是的。不過,你的措辭有點混亂。 – Jon

2

最簡單的方法可能是創建一個封裝四個值的類,使類實現Comparable並通過整數定義其compareTo()方法。