從文本文件中讀取教室名稱(「B106」)並將它們保存在數組列表中。 我需要按字母排序該數組,然後按數字排序。 我讀了一些關於使用Collections/Comparator的東西,但我無法成功實現它們,我該如何做到這一點?Java - 按字母順序和數字順序排列數組列表
例: 輸入: 「B106」, 「D111」, 「A201」, 「B102」
輸出: 「A201」, 「B102」, 「B106」, 「D111」
類Core_Salas,我管理我的文件
public class Core_Sala {
//---------------------------------------------------------------------------
public static ArrayList<Sala> Sala = new ArrayList<Sala>();
private static File SF = new File("Salas.txt");
public static void LerSalas()
{
try
{
if(SF.exists()==true)
{
String[]parts;
Sala.clear();//Array list limpar
Scanner inputFile = new Scanner(SF);
while (inputFile.hasNextLine()) {
String line = inputFile.nextLine();
Sala s1 = new Sala(line);
Sala.add(s1);
}
inputFile.close();
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
}
if(SF.exists()==false)
{
PrintWriter out = null;
try
{
out = new PrintWriter(SF);
}catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "O ficheiro de utilizadores estava danificado ou era inexistente, foi criado um novo com o utilizador admin!");
}
out.close();
}
}
}
類薩拉吸氣劑setter和構造
public class Sala {
private String Salas;
public Sala(String salas)
{
this.Salas=salas;
}
public String getSalas() {
return Salas;
}
public void setSalas(String salas) {
Salas = salas;
}
@Override
public String toString()
{
return Salas;
}
}
如果所有字符串遵循相同的模式,您可以按字母順序排序。不需要解析字符串。 – Thilo
只能按字母順序排序,還能正確使用數字嗎? 另外我會嘗試Seek Addo鏈接看起來很簡單,雖然我不知道我是否被允許使用該代碼,因爲這是一個針對學校的項目,而tracher從來沒有提到它。 。 。我會嘗試我的運氣謝謝 –
如果數字長度相同(或填充),它將起作用。所以'A123'可以使用'A099',但不能使用'A77'。 – Thilo