从文本文件中读取教室名称(“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